/*
 * Copyright (C) 2008-2012 TrinityCore <http://www.trinitycore.org/>
 * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation; either version 2 of the License, or (at your
 * option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License alonge
 * with this program. If not, see <http://www.gnu.org/licenses/>.
 */

/// \addtogroup u2w
/// @{
/// \file

#ifndef _OPCODES_H
#define _OPCODES_H

#include "Common.h"

enum OpcodeTransferDirection : uint8
{
    WOW_SERVER = 0,
    WOW_CLIENT = 1,

    TRANSFER_DIRECTION_MAX = 2,
};

/// List of Opcodes
enum Opcodes
{
    NUM_OPCODE_HANDLERS                               = (0x7FFF+1),
    UNKNOWN_OPCODE                                    = (0xFFFF+1),
    NULL_OPCODE                                       = 0,
    COMPRESSED_OPCODE_MASK                            = 0x8000,


    CMSG_ACCEPT_LEVEL_GRANT                           = 0x0000,
    CMSG_ACCEPT_TRADE                                 = 0x1E73, // 5.4.7 18019
    CMSG_ACTIVATETAXI                                 = 0x0756, // 5.4.7 18019
    CMSG_ACTIVATETAXIEXPRESS                          = 0x0576, // 5.4.7 18019
    CMSG_ADDON_REGISTERED_PREFIXES                    = 0x1C40, // 5.4.7 18019
    CMSG_ADD_FRIEND                                   = 0x064F, // 5.4.7 18019
    CMSG_ADD_IGNORE                                   = 0x126D, // 5.4.7 18019
    CMSG_ADD_VOICE_IGNORE                             = 0x0000,
    CMSG_ALTER_APPEARANCE                             = 0x00F6, // 5.4.7 18019
    CMSG_AREATRIGGER                                  = 0x155A, // 5.4.7 18019
    CMSG_AREA_SPIRIT_HEALER_QUERY                     = 0x0376, // 5.4.7 18019
    CMSG_AREA_SPIRIT_HEALER_QUEUE                     = 0x04D5, // 5.4.7 18019
    CMSG_ATTACKSTOP                                   = 0x1E13, // 5.4.7 18019
    CMSG_ATTACKSWING                                  = 0x1513, // 5.4.7 18019
    CMSG_AUCTION_HELLO                                = 0x047F, // 5.4.7 18019
    CMSG_AUCTION_LIST_BIDDER_ITEMS                    = 0x04D6, // 5.4.7 18019
    CMSG_AUCTION_LIST_ITEMS                           = 0x105F, // 5.4.7 18019
    CMSG_AUCTION_LIST_OWNER_ITEMS                     = 0x105E, // 5.4.7 18019
    CMSG_AUCTION_LIST_PENDING_SALES                   = 0x1055, // 5.4.7 18019
    CMSG_AUCTION_PLACE_BID                            = 0x10F5, // 5.4.7 18019
    CMSG_AUCTION_REMOVE_ITEM                          = 0x0754, // 5.4.7 18019
    CMSG_AUCTION_SELL_ITEM                            = 0x07F5, // 5.4.7 18019
    CMSG_AUTH_SESSION                                 = 0x1A51, // 5.4.7 18019
    CMSG_AUTOBANK_ITEM                                = 0x1C42, // 5.4.7 18019
    CMSG_AUTOEQUIP_ITEM                               = 0x166B, // 5.4.7 18019
    CMSG_AUTOEQUIP_ITEM_SLOT                          = 0x154A, // 5.4.7 18019
    CMSG_AUTOSTORE_BAG_ITEM                           = 0x162B, // 5.4.7 18019
    CMSG_AUTOSTORE_BANK_ITEM                          = 0x176A, // 5.4.7 18019
    CMSG_AUTOSTORE_LOOT_ITEM                          = 0x1F7A, // 5.4.7 18019
    CMSG_AUTO_DECLINE_GUILD_INVITES                   = 0x0174, // 5.4.7 18019
    CMSG_BANKER_ACTIVATE                              = 0x02FD, // 5.4.7 18019
    CMSG_BATTLEFIELD_JOIN                             = 0x1C53, // 5.4.7 18019
    CMSG_BATTLEFIELD_LEAVE                            = 0x0000,
    CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE        = 0x0000,
    CMSG_BATTLEFIELD_MGR_EXIT_REQUEST                 = 0x0000,
    CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE        = 0x0000,
    CMSG_BATTLEFIELD_MGR_QUEUE_REQUEST                = 0x0000,
    CMSG_BATTLEFIELD_PORT                             = 0x0000,
    CMSG_BATTLEGROUND_LEAVE                           = 0x1C5B, // 5.4.7 18019
    CMSG_BATTLEGROUND_LIST                            = 0x1412, // 5.4.7 18019
    CMSG_BATTLEGROUND_PORT                            = 0x045F, // 5.4.7 18019
    CMSG_BATTLEGROUND_SEND_TIMER                      = 0x1D33, // 5.4.7 18019
    CMSG_BATTLEGROUND_STATUS                          = 0x04A2, // client sends 0x19B0 before status - CHECK!
    CMSG_BATTLEMASTER_JOIN                            = 0x06DD, // 5.4.7 18019
    CMSG_BATTLEMASTER_JOIN_ARENA                      = 0x0557, // 5.4.7 18019
    CMSG_BATTLEMASTER_JOIN_RATED                      = 0x13AB, // 5.4.7 18019
    CMSG_BATTLEPET_NAME_QUERY                         = 0x16E0, // 5.4.7 18019 Not implemented - CHECK!
    CMSG_BEGIN_TRADE                                  = 0x1D52, // 5.4.7 18019 - CHECK!
    CMSG_BINDER_ACTIVATE                              = 0x0477, // 5.4.7 18019
    CMSG_BLACK_MARKET_HELLO                           = 0x0374, // 5.4.7 18019
    CMSG_BLACK_MARKET_REQUEST_ITEMS                   = 0x06D4, // 5.4.7 18019
    CMSG_BLACK_MARKET_PLACE_BID                       = 0x03FE, // 5.4.7 18019
    CMSG_BUG                                          = 0x139B, // 5.4.7 18019 - CHECK!
    CMSG_BUSY_TRADE                                   = 0x0000,
    CMSG_BUYBACK_ITEM                                 = 0x07D7, // 5.4.7 18019
    CMSG_BUY_BANK_SLOT                                = 0x00FE, // 5.4.7 18019
    CMSG_BUY_ITEM                                     = 0x1077, // 5.4.7 18019
    CMSG_CALENDAR_ADD_EVENT                           = 0x16D0, // 5.4.7 18019
    CMSG_CALENDAR_ARENA_TEAM                          = 0x0000,
    CMSG_CALENDAR_COMPLAIN                            = 0x0000,
    CMSG_CALENDAR_COPY_EVENT                          = 0x0000,
    CMSG_CALENDAR_EVENT_INVITE                        = 0x1551, // 5.4.7 18019
    CMSG_CALENDAR_EVENT_MODERATOR_STATUS              = 0x0000,
    CMSG_CALENDAR_EVENT_REMOVE_INVITE                 = 0x0000,
    CMSG_CALENDAR_EVENT_RSVP                          = 0x0000,
    CMSG_CALENDAR_EVENT_SIGNUP                        = 0x0000,
    CMSG_CALENDAR_EVENT_STATUS                        = 0x0000,
    CMSG_CALENDAR_GET_CALENDAR                        = 0x19A3, // 5.4.7 18019
    CMSG_CALENDAR_GET_EVENT                           = 0x0000,
    CMSG_CALENDAR_GET_NUM_PENDING                     = 0x18B0, // 5.4.7 18019
    CMSG_CALENDAR_GUILD_FILTER                        = 0x0000,
    CMSG_CALENDAR_REMOVE_EVENT                        = 0x1DA1, // 5.4.7 18019 - CHECK!
    CMSG_CALENDAR_UPDATE_EVENT                        = 0x0000,
    CMSG_CANCEL_AURA                                  = 0x16E1, // 5.4.7 18019
    CMSG_CANCEL_AUTO_REPEAT_SPELL                     = 0x025E, // 5.4.7 18019
    CMSG_CANCEL_CAST                                  = 0x12EB, // 5.4.7 18019
    CMSG_CANCEL_CHANNELLING                           = 0x13F0, // 5.4.7 18019
    CMSG_CANCEL_MOUNT_AURA                            = 0x1552, // 5.4.7 18019
    CMSG_CANCEL_QUEUED_SPELL                          = 0x0000,
    CMSG_CANCEL_TEMP_ENCHANTMENT                      = 0x0000,
    CMSG_CANCEL_TRADE                                 = 0x1D32, // 5.4.7 18019
    CMSG_CAST_SPELL                                   = 0x1E5B, // 5.4.7 18019
    CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE           = 0x053B, // 5.4.7 18019
    CMSG_CHANNEL_ANNOUNCEMENTS                        = 0x0623, // 5.4.7 18019
    CMSG_CHANNEL_BAN                                  = 0x1E69, // 5.4.7 18019
    CMSG_CHANNEL_INVITE                               = 0x1D68, // 5.4.7 18019
    CMSG_CHANNEL_KICK                                 = 0x1C68, // 5.4.7 18019
    CMSG_CHANNEL_LIST                                 = 0x1D08, // 5.4.7 18019
    CMSG_CHANNEL_MODERATOR                            = 0x0F03, // 5.4.7 18019
    CMSG_CHANNEL_MUTE                                 = 0x0E42, // 5.4.7 18019
    CMSG_CHANNEL_PASSWORD                             = 0x0F69, // 5.4.7 18019
    CMSG_CHANNEL_SET_OWNER                            = 0x1508, // 5.4.7 18019
    CMSG_CHANNEL_SILENCE_ALL                          = 0x0000,
    CMSG_CHANNEL_SILENCE_VOICE                        = 0x0000,
    CMSG_CHANNEL_UNBAN                                = 0x1F09, // 5.4.7 18019
    CMSG_CHANNEL_UNMODERATOR                          = 0x1C01, // 5.4.7 18019
    CMSG_CHANNEL_UNMUTE                               = 0x0723, // 5.4.7 18019
    CMSG_CHANNEL_UNSILENCE_ALL                        = 0x0000,
    CMSG_CHANNEL_UNSILENCE_VOICE                      = 0x0000,
    CMSG_CHANNEL_VOICE_OFF                            = 0x0000,
    CMSG_CHANNEL_VOICE_ON                             = 0x0000,
    CMSG_CHAR_CREATE                                  = 0x09B9, // 5.4.7 18019
    CMSG_CHAR_CUSTOMIZE                               = 0x1880, // 5.4.7 18019
    CMSG_CHAR_DELETE                                  = 0x113B, // 5.4.7 18019
    CMSG_CHAR_ENUM                                    = 0x12C2, // 5.4.7 18019
    CMSG_CHAR_FACTION_OR_RACE_CHANGE                  = 0x0DB8, // 5.4.7 18019
    CMSG_CHAR_RENAME                                  = 0x1391, // 5.4.7 18019
    CMSG_CHAT_FILTERED                                = 0x0000,
    CMSG_CHAT_IGNORED                                 = 0x0720, // 5.4.7 18019
    CMSG_CLEAR_CHANNEL_WATCH                          = 0x0000,
    CMSG_CLEAR_RAID_MARKER                            = 0x14E9, // 5.4.7 18019
    CMSG_CLEAR_TRADE_ITEM                             = 0x10E0, // 5.4.7 18019
    CMSG_COMMENTATOR_ENABLE                           = 0x0000, // Seems like 0x169A // 5.4.7 18019 - CHECK!
    CMSG_COMMENTATOR_ENTER_INSTANCE                   = 0x0000,
    CMSG_COMMENTATOR_EXIT_INSTANCE                    = 0x0000,
    CMSG_COMMENTATOR_GET_MAP_INFO                     = 0x0000,
    CMSG_COMMENTATOR_GET_PARTY_INFO                   = 0x0000,
    CMSG_COMMENTATOR_GET_PLAYER_INFO                  = 0x0000,
    CMSG_COMMENTATOR_INSTANCE_COMMAND                 = 0x0000,
    CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND           = 0x0000,
    CMSG_COMMENTATOR_START_WARGAME                    = 0x0000,
    CMSG_COMPLAIN                                     = 0x1791, // 5.4.7 18019
    CMSG_COMPLETE_CINEMATIC                           = 0x12F8, // 5.4.7 18019
    CMSG_COMPLETE_MOVIE                               = 0x055E, // 5.4.7 18019
    CMSG_CONNECT_TO_FAILED                            = 0x0000, // Seems like 0x16C8 // 5.4.7 18019 - CHECK!
    CMSG_CONFIRM_RESPEC_WIPE                          = 0x1712, // 5.4.7 18019
    CMSG_CONTACT_LIST                                 = 0x1186, // 5.4.7 18019
    CMSG_CORPSE_MAP_POSITION_QUERY                    = 0x0DA2, // 5.4.7 18019
    CMSG_CORPSE_QUERY                                 = 0x129B, // 5.4.7 18019
    CMSG_CREATURE_QUERY                               = 0x1E72, // 5.4.7 18019
    CMSG_DANCE_QUERY                                  = 0x0000,
    CMSG_DECLINE_CHANNEL_INVITE                       = 0x0000,
    CMSG_DEL_FRIEND                                   = 0x1707, // 5.4.7 18019
    CMSG_DEL_IGNORE                                   = 0x0385, // 5.4.7 18019
    CMSG_DEL_VOICE_IGNORE                             = 0x0000,
    CMSG_DESTROY_ITEM                                 = 0x1F12, // 5.4.7 18019
    CMSG_DISMISS_CONTROLLED_VEHICLE                   = 0x0979, // 5.4.7 18019
    CMSG_DISMISS_CRITTER                              = 0x0000,
    CMSG_DUEL_PROPOSED                                = 0x19B3, // 5.4.7 18019
    CMSG_DUEL_RESPONSE                                = 0x07FC, // 5.4.7 18019
    CMSG_EJECT_PASSENGER                              = 0x04EA, // 5.4.7 18019
    CMSG_EMOTE                                        = 0x12C5, // 5.4.7 18019
    CMSG_ENABLE_NAGLE                                 = 0x0000,
    CMSG_EQUIPMENT_SET_DELETE                         = 0x01DC, // 5.4.7 18019
    CMSG_EQUIPMENT_SET_SAVE                           = 0x115C, // 5.4.7 18019
    CMSG_EQUIPMENT_SET_USE                            = 0x1402, // 5.4.7 18019
    CMSG_FAR_SIGHT                                    = 0x01D5, // 5.4.7 18019
    CMSG_FORCE_MOVE_ROOT_ACK                          = 0x0118, // 5.4.7 18019
    CMSG_FORCE_MOVE_UNROOT_ACK                        = 0x0458, // 5.4.7 18019
    CMSG_GAMEOBJECT_QUERY                             = 0x14EA, // 5.4.7 18019
    CMSG_GAMEOBJECT_REPORT_USE                        = 0x06DF, // 5.4.7 18019
    CMSG_GAMEOBJECT_USE                               = 0x055F, // 5.4.7 18019
    CMSG_GAMESPEED_SET                                = 0x0000,
    CMSG_GAMETIME_SET                                 = 0x0000,
    CMSG_GET_MAIL_LIST                                = 0x07DD, // 5.4.7 18019
    CMSG_GET_MIRRORIMAGE_DATA                         = 0x12F9, // 5.4.7 18019
    CMSG_GMRESPONSE_RESOLVE                           = 0x1CA9, // 5.4.7 18019
    CMSG_GMSURVEY_SUBMIT                              = 0x0000,
    CMSG_GMTICKET_CREATE                              = 0x103B, // 5.4.7 18019
    CMSG_GMTICKET_DELETETICKET                        = 0x17C8, // 5.4.7 18019
    CMSG_GMTICKET_GETTICKET                           = 0x1CA1, // 5.4.7 18019
    CMSG_GMTICKET_GETWEBTICKET                        = 0x1389, // 5.4.7 18019
    CMSG_GMTICKET_SYSTEMSTATUS                        = 0x128A, // 5.4.7 18019
    CMSG_GMTICKET_UPDATETEXT                          = 0x0DA0, // 5.4.7 18019
    CMSG_GM_REPORT_LAG                                = 0x0000,
    CMSG_GOSSIP_HELLO                                 = 0x05F6, // 5.4.7 18019
    CMSG_GOSSIP_SELECT_OPTION                         = 0x02D7, // 5.4.7 18019
    CMSG_GRANT_LEVEL                                  = 0x0000,
    CMSG_GROUP_ASSIGNMENT                             = 0x18A2, // 5.4.7 18019
    CMSG_GROUP_ASSISTANT_LEADER                       = 0x0DBB, // 5.4.7 18019
    CMSG_GROUP_CHANGE_SUB_GROUP                       = 0x17D9, // 5.4.7 18019
    CMSG_GROUP_DISBAND                                = 0x0DB2, // 5.4.7 18019
    CMSG_GROUP_INVITE                                 = 0x1990, // 5.4.7 18019
    CMSG_GROUP_INVITE_RESPONSE                        = 0x1C51, // 5.4.7 18019
    CMSG_GROUP_RAID_CONVERT                           = 0x19A0, // 5.4.7 18019
    CMSG_GROUP_REQUEST_JOIN_UPDATES                   = 0x1792, // 5.4.7 18019
    CMSG_GROUP_SET_LEADER                             = 0x1383, // 5.4.7 18019
    CMSG_GROUP_SET_ROLES                              = 0x1C93, // 5.4.7 18019
    CMSG_GROUP_SWAP_SUB_GROUP                         = 0x1D80, // 5.4.7 18019 - CHECK!
    CMSG_GROUP_UNINVITE_GUID                          = 0x0989, // 5.4.7 18019
    CMSG_GUILD_ACCEPT                                 = 0x18A3, // 5.4.7 18019
    CMSG_GUILD_ACHIEVEMENT_MEMBERS                    = 0x0000,
    CMSG_GUILD_ACHIEVEMENT_PROGRESS_QUERY             = 0x1B3D, // 5.4.7 18019
    CMSG_GUILD_ADD_RANK                               = 0x1935, // 5.4.7 18019
    CMSG_GUILD_ASSIGN_MEMBER_RANK                     = 0x198F, // 5.4.7 18019
    CMSG_GUILD_BANKER_ACTIVATE                        = 0x02F6, // 5.4.7 18019
    CMSG_GUILD_BANK_BUY_TAB                           = 0x02D6, // 5.4.7 18019
    CMSG_GUILD_BANK_DEPOSIT_MONEY                     = 0x03FC, // 5.4.7 18019
    CMSG_GUILD_BANK_LOG_QUERY                         = 0x1D97, // 5.4.7 18019
    CMSG_GUILD_BANK_MONEY_WITHDRAWN_QUERY             = 0x1BB7, // 5.4.7 18019
    CMSG_GUILD_BANK_QUERY_TAB                         = 0x07DC, // 5.4.7 18019
    CMSG_GUILD_BANK_QUERY_TEXT                        = 0x19A6, // 5.4.7 18019
    CMSG_GUILD_BANK_SWAP_ITEMS                        = 0x02DF, // 5.4.7 18019
    CMSG_GUILD_BANK_UPDATE_TAB                        = 0x1054, // 5.4.7 18019
    CMSG_GUILD_BANK_WITHDRAW_MONEY                    = 0x06F4, // 5.4.7 18019
    CMSG_GUILD_CHANGE_NAME_REQUEST                    = 0x0000,
    CMSG_GUILD_DECLINE                                = 0x1B05, // 5.4.7 18019
    CMSG_GUILD_DEL_RANK                               = 0x1D3C, // 5.4.7 18019
    CMSG_GUILD_DEMOTE                                 = 0x1B1C, // 5.4.7 18019 - Not finished - CHECK!
    CMSG_GUILD_DISBAND                                = 0x190E, // 5.4.7 18019
    CMSG_GUILD_EVENT_LOG_QUERY                        = 0x1D17, // 5.4.7 18019
    CMSG_GUILD_INFO_TEXT                              = 0x1DAD, // 5.4.7 18019
    CMSG_GUILD_INVITE                                 = 0x188B, // 5.4.7 18019
    CMSG_GUILD_LEAVE                                  = 0x193D, // 5.4.7 18019
    CMSG_GUILD_MEMBER_SEND_SOR_REQUEST                = 0x0000,
    CMSG_GUILD_MOTD                                   = 0x1DB4, // 5.4.7 18019
    CMSG_GUILD_NEWS_UPDATE_STICKY                     = 0x1984, // 5.4.7 18019
    CMSG_GUILD_PERMISSIONS                            = 0x1D0F, // 5.4.7 18019
    CMSG_GUILD_PROMOTE                                = 0x19B5, // 5.4.7 18019 - Not finished - CHECK!
    CMSG_GUILD_QUERY                                  = 0x1280, // 5.4.7 18019
    CMSG_GUILD_QUERY_NEWS                             = 0x1D35, // 5.4.7 18019
    CMSG_GUILD_QUERY_RANKS                            = 0x1BBC, // 5.4.7 18019
    CMSG_GUILD_REMOVE                                 = 0x1D9F, // 5.4.7 18019
    CMSG_GUILD_REPLACE_GUILD_MASTER                   = 0x0000,
    CMSG_GUILD_REQUEST_CHALLENGE_UPDATE               = 0x198C, // 5.4.7 18019
    CMSG_GUILD_REQUEST_PARTY_STATE                    = 0x14A8, // 5.4.7 18019
    CMSG_GUILD_ROSTER                                 = 0x19BC, // 5.4.7 18019
    CMSG_GUILD_SET_ACHIEVEMENT_TRACKING               = 0x1BA7, // 5.4.7 18019
    CMSG_GUILD_SET_GUILD_MASTER                       = 0x189B, // 5.4.7 18019
    CMSG_GUILD_SET_NOTE                               = 0x1905, // 5.4.7 18019
    CMSG_GUILD_SET_RANK_PERMISSIONS                   = 0x19BD, // 5.4.7 18019
    CMSG_GUILD_SWITCH_RANK                            = 0x199C, // 5.4.7 18019
    CMSG_HEARTH_AND_RESURRECT                         = 0x065F, // 5.4.7 18019
    CMSG_IGNORE_TRADE                                 = 0x0C9A, // 5.4.7 18019
    CMSG_INITIATE_TRADE                               = 0x12BB, // 5.4.7 18019
    CMSG_INSPECT                                      = 0x01D4, // 5.4.7 18019
    CMSG_INSPECT_HONOR_STATS                          = 0x141A, // 5.4.7 18019
    CMSG_INSTANCE_LOCK_RESPONSE                       = 0x067F, // 5.4.7 18019
    CMSG_ITEM_REFUND                                  = 0x05FC, // 5.4.7 18019
    CMSG_ITEM_REFUND_INFO                             = 0x10DC, // 5.4.7 18019
    CMSG_ITEM_TEXT_QUERY                              = 0x131B, // 5.4.7 18019
    CMSG_JOIN_CHANNEL                                 = 0x1D20, // 5.4.7 18019
    CMSG_KEEP_ALIVE                                   = 0x13C8, // 5.4.7 18019
    CMSG_LEARN_PET_SPECIALIZATION_GROUP               = 0x145B, // 5.4.7 18019
    CMSG_LEARN_TALENTS                                = 0x1F5A, // 5.4.7 18019
    CMSG_LEAVE_CHANNEL                                = 0x0E0B, // 5.4.7 18019
    CMSG_LFG_GET_STATUS                               = 0x133B, // 5.4.7 18019
    CMSG_LFG_LOCK_INFO_REQUEST                        = 0x19AA, // 5.4.7 18019
    CMSG_LFG_JOIN                                     = 0x18B8, // 5.4.7 18019
    CMSG_LFG_LEAVE                                    = 0x0D83, // 5.4.7 18019
    CMSG_LFG_PROPOSAL_RESULT                          = 0x1C99, // 5.4.7 18019
    CMSG_LFG_SET_BOOT_VOTE                            = 0x1CBA, // 5.4.7 18019
    CMSG_LFG_SET_COMMENT                              = 0x1C88, // 5.4.7 18019
    CMSG_LFG_SET_ROLES                                = 0x1A9B, // 5.4.7 18019
    CMSG_LFG_TELEPORT                                 = 0x1999, // 5.4.7 18019
    CMSG_LF_GUILD_ADD_RECRUIT                         = 0x1DAA, // 5.4.7 18019
    CMSG_LF_GUILD_BROWSE                              = 0x0992, // 5.4.7 18019
    CMSG_LF_GUILD_DECLINE_RECRUIT                     = 0x190C, // 5.4.7 18019
    CMSG_LF_GUILD_GET_APPLICATIONS                    = 0x1B86, // 5.4.7 18019
    CMSG_LF_GUILD_GET_RECRUITS                        = 0x1B3E, // 5.4.7 18019
    CMSG_LF_GUILD_POST_REQUEST                        = 0x192E, // 5.4.7 18019
    CMSG_LF_GUILD_REMOVE_RECRUIT                      = 0x1D05, // 5.4.7 18019
    CMSG_LF_GUILD_SET_GUILD_POST                      = 0x13C2, // 5.4.7 18019
    CMSG_LIST_INVENTORY                               = 0x10DD, // 5.4.7 18019
    CMSG_LIST_STABLE_PETS                             = 0x045D, // 5.4.7 18019
    CMSG_LOAD_SCREEN                                  = 0x1691, // 5.4.7 18019
    CMSG_LOGOUT_CANCEL                                = 0x11D4, // 5.4.7 18019
    CMSG_LOGOUT_REQUEST                               = 0x0476, // 5.4.7 18019
    CMSG_LOG_DISCONNECT                               = 0x1A13, // 5.4.7 18019
    CMSG_LOOT                                         = 0x1E52, // 5.4.7 18019
    CMSG_LOOT_CURRENCY                                = 0x0000,
    CMSG_LOOT_MASTER_GIVE                             = 0x14A1, // 5.4.7 18019
    CMSG_LOOT_METHOD                                  = 0x1C10, // 5.4.7 18019
    CMSG_LOOT_MONEY                                   = 0x15A0, // 5.4.7 18019
    CMSG_LOOT_RELEASE                                 = 0x12F0, // 5.4.7 18019
    CMSG_LOOT_ROLL                                    = 0x1F53, // 5.4.7 18019
    CMSG_MAIL_CREATE_TEXT_ITEM                        = 0x0254, // 5.4.7 18019
    CMSG_MAIL_DELETE                                  = 0x13A3, // 5.4.7 18019
    CMSG_MAIL_MARK_AS_READ                            = 0x027F, // 5.4.7 18019
    CMSG_MAIL_RETURN_TO_SENDER                        = 0x1C8A, // 5.4.7 18019
    CMSG_MAIL_TAKE_ITEM                               = 0x06F6, // 5.4.7 18019
    CMSG_MAIL_TAKE_MONEY                              = 0x0676, // 5.4.7 18019
    CMSG_MESSAGECHAT_ADDON_BATTLEGROUND               = 0x0000,
    CMSG_MESSAGECHAT_ADDON_GUILD                      = 0x0461, // 5.4.7 18019
    CMSG_MESSAGECHAT_ADDON_OFFICER                    = 0x0000,
    CMSG_MESSAGECHAT_ADDON_PARTY                      = 0x0C40, // 5.4.7 18019
    CMSG_MESSAGECHAT_ADDON_RAID                       = 0x1740, // 5.4.7 18019
    CMSG_MESSAGECHAT_ADDON_WHISPER                    = 0x0D09, // 5.4.7 18019 Not implemented - CHECK!
    CMSG_MESSAGECHAT_AFK                              = 0x0422, // 5.4.7 18019
    CMSG_MESSAGECHAT_BATTLEGROUND                     = 0x0F02, // 5.4.7 18019
    CMSG_MESSAGECHAT_CHANNEL                          = 0x0904, // 5.4.7 18019
    CMSG_MESSAGECHAT_DND                              = 0x1E21, // 5.4.7 18019
    CMSG_MESSAGECHAT_EMOTE                            = 0x0520, // 5.4.7 18019
    CMSG_MESSAGECHAT_GUILD                            = 0x070B, // 5.4.7 18019
    CMSG_MESSAGECHAT_OFFICER                          = 0x1F69, // 5.4.7 18019
    CMSG_MESSAGECHAT_PARTY                            = 0x0642, // 5.4.7 18019
    CMSG_MESSAGECHAT_RAID                             = 0x054B, // 5.4.7 18019
    CMSG_MESSAGECHAT_RAID_WARNING                     = 0x0423, // 5.4.7 18019
    CMSG_MESSAGECHAT_SAY                              = 0x0C41, // 5.4.7 18019
    CMSG_MESSAGECHAT_WHISPER                          = 0x0D60, // 5.4.7 18019
    CMSG_MESSAGECHAT_YELL                             = 0x0C43, // 5.4.7 18019
    CMSG_MINIGAME_MOVE                                = 0x0000,
    CMSG_MINIMAP_PING                                 = 0x1A93, // 5.4.7 18019
    CMSG_MOUNTSPECIAL_ANIM                            = 0x1F32, // 5.4.7 18019
    CMSG_MOVE_CHNG_TRANSPORT                          = 0x0052, // 5.4.7 18019
    CMSG_MOVE_KNOCK_BACK_ACK                          = 0x053A, // 5.4.7 18019
    CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK             = 0x0831, // 5.4.7 18019 - CHECK!
    CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK              = 0x0018, // 5.4.7 18019 - CHECK!
    CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK             = 0x0811, // 5.4.7 18019 - CHECK!
    CMSG_MOVE_WATER_WALK_ACK                          = 0x0519, // 5.4.7 18019 - CHECK!
    CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK           = 0x0839, // 5.4.7 18019 - CHECK!
    CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK         = 0x0512, // 5.4.7 18019 - CHECK!
    CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK        = 0x0070, // 5.4.7 18019 - CHECK!
    CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK      = 0x095A, // 5.4.7 18019 - CHECK!
    CMSG_MOVE_NOT_ACTIVE_MOVER                        = 0x0000,
    CMSG_MOVE_SET_COLLISION_HEIGHT_ACK                = 0x0031, // 5.4.7 18019
    CMSG_MOVE_SET_FLY                                 = 0x0551, // 5.4.7 18019
    CMSG_MOVE_SET_CAN_FLY_ACK                         = 0x0952, // 5.4.7 18019
    CMSG_MOVE_SPLINE_DONE                             = 0x0833, // 5.4.7 18019
    CMSG_MOVE_TIME_SKIPPED                            = 0x0152, // 5.4.7 18019
    CMSG_NAME_QUERY                                   = 0x0DB3, // 5.4.7 18019
    CMSG_NEXT_CINEMATIC_CAMERA                        = 0x05CC, // 5.4.7 18019
    CMSG_NPC_TEXT_QUERY                               = 0x12FA, // 5.4.7 18019
    CMSG_OBJECT_UPDATE_FAILED                         = 0x0882, // 5.4.7 18019
    CMSG_OBJECT_UPDATE_RESCUED                        = 0x042E, // 5.4.7 18019
    CMSG_OFFER_PETITION                               = 0x1992, // 5.4.7 18019
    CMSG_OPENING_CINEMATIC                            = 0x0146, // 5.4.7 18019 Not implemented - CHECK!
    CMSG_OPEN_ITEM                                    = 0x146C, // 5.4.7 18019
    CMSG_OPT_OUT_OF_LOOT                              = 0x0000,
    CMSG_PAGE_TEXT_QUERY                              = 0x13B1, // 5.4.7 18019
    CMSG_PETITION_BUY                                 = 0x07D6, // 5.4.7 18019
    CMSG_PETITION_DECLINE                             = 0x03D6, // 5.4.7 18019
    CMSG_PETITION_QUERY                               = 0x15A2, // 5.4.7 18019
    CMSG_PETITION_SHOWLIST                            = 0x0775, // 5.4.7 18019
    CMSG_PETITION_SHOW_SIGNATURES                     = 0x11FC, // 5.4.7 18019
    CMSG_PETITION_SIGN                                = 0x0555, // 5.4.7 18019
    CMSG_PETITION_RENAME                              = 0x1288, // 5.4.7 18019
    CMSG_PET_ABANDON                                  = 0x05D7, // 5.4.7 18019
    CMSG_PET_ACTION                                   = 0x04D4, // 5.4.7 18019
    CMSG_PET_CANCEL_AURA                              = 0x01F5, // 5.4.7 18019
    CMSG_PET_CAST_SPELL                               = 0x00E8, // 5.4.7 18019
    CMSG_PET_NAME_QUERY                               = 0x16A3, // 5.4.7 18019
    CMSG_PET_RENAME                                   = 0x133A, // 5.4.7 18019
    CMSG_PET_SET_ACTION                               = 0x07DE, // 5.4.7 18019
    CMSG_PET_STOP_ATTACK                              = 0x07F7, // 5.4.7 18019
    CMSG_PING                                         = 0x1070, // 5.4.7 18019
    CMSG_PLAYED_TIME                                  = 0x173A, // 5.4.7 18019
    CMSG_PLAYER_DIFFICULTY_CHANGE                     = 0x09A8, // 5.4.7 18019 Not implemented - CHECK!
    CMSG_PLAYER_LOGIN                                 = 0x17D3, // 5.4.7 18019
    CMSG_PLAYER_LOGOUT                                = 0x0010, // 5.4.7 18019
    CMSG_PLAYER_VEHICLE_ENTER                         = 0x13E8, // 5.4.7 18019
    CMSG_PLAY_DANCE                                   = 0x0000,
    CMSG_PUSHQUESTTOPARTY                             = 0x127C, // 5.4.7 18019
    CMSG_PVP_LOG_DATA                                 = 0x1F3A, // 5.4.7 18019
    CMSG_QUERY_GUILD_MEMBERS_FOR_RECIPE               = 0x0000,
    CMSG_QUERY_GUILD_MEMBER_RECIPES                   = 0x0000,
    CMSG_QUERY_GUILD_RECIPES                          = 0x1DBC, // 5.4.7 18019
    CMSG_QUERY_GUILD_REWARDS                          = 0x171B, // 5.4.7 18019
    CMSG_QUERY_GUILD_XP                               = 0x1D37, // 5.4.7 18019
    CMSG_QUERY_INSPECT_ACHIEVEMENTS                   = 0x047E, // 5.4.7 18019
    CMSG_QUERY_NEXT_MAIL_TIME                         = 0x05F7, // 5.4.7 18019
    CMSG_QUERY_QUESTS_COMPLETED                       = 0x0000,
    CMSG_QUERY_TIME                                   = 0x03FD, // 5.4.7 18019
    CMSG_QUESTGIVER_ACCEPT_QUEST                      = 0x0356, // 5.4.7 18019
    CMSG_QUESTGIVER_CHOOSE_REWARD                     = 0x075F, // 5.4.7 18019
    CMSG_QUESTGIVER_COMPLETE_QUEST                    = 0x115E, // 5.4.7 18019
    CMSG_QUESTGIVER_HELLO                             = 0x1056, // 5.4.7 18019
    CMSG_QUESTGIVER_QUERY_QUEST                       = 0x0474, // 5.4.7 18019
    CMSG_QUESTGIVER_REQUEST_REWARD                    = 0x107E, // 5.4.7 18019
    CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY             = 0x0275, // 5.4.7 18019
    CMSG_QUESTGIVER_STATUS_QUERY                      = 0x05FD, // 5.4.7 18019
    CMSG_QUESTLOG_REMOVE_QUEST                        = 0x0655, // 5.4.7 18019
    CMSG_QUEST_CONFIRM_ACCEPT                         = 0x0277, // 5.4.7 18019
    CMSG_QUEST_NPC_QUERY                              = 0x16B8, // 5.4.7 18019
    CMSG_QUEST_POI_QUERY                              = 0x1DA8, // 5.4.7 18019
    CMSG_QUEST_QUERY                                  = 0x1F52, // 5.4.7 18019
    CMSG_RAID_LEADER_READY_CHECK                      = 0x0D88, // 5.4.7 18019
    CMSG_RAID_CONFIRM_READY_CHECK                     = 0x13D9, // 5.4.7 18019
    CMSG_RAID_TARGET_UPDATE                           = 0x13C3, // 5.4.7 18019
    CMSG_RANDOM_ROLL                                  = 0x1891, // 5.4.7 18019
    CMSG_RANDOMIZE_CHAR_NAME                          = 0x1DB9, // 5.4.7 18019
    CMSG_READY_FOR_ACCOUNT_DATA_TIMES                 = 0x13CB, // 5.4.7 18019
    CMSG_READ_ITEM                                    = 0x14C5, // 5.4.7 18019
    CMSG_REALM_NAME_QUERY                             = 0x1899, // 5.4.7 18019
    CMSG_REALM_SPLIT                                  = 0x1282, // 5.4.7 18019
    CMSG_RECLAIM_CORPSE                               = 0x065C, // 5.4.7 18019
    CMSG_REDIRECTION_AUTH_PROOF                       = 0x1A5B, // 5.4.7 18019 Not implemented - CHECK!
    CMSG_REFORGE_ITEM                                 = 0x1632, // 5.4.7 18019
    CMSG_REORDER_CHARACTERS                           = 0x1892, // 5.4.7 18019
    CMSG_REPAIR_ITEM                                  = 0x0577, // 5.4.7 18019
    CMSG_REPOP_REQUEST                                = 0x04FC, // 5.4.7 18019
    CMSG_REPORT_PVP_AFK                               = 0x075D, // 5.4.7 18019
    CMSG_REQUEST_ACCOUNT_DATA                         = 0x1410, // 5.4.7 18019
    CMSG_REQUEST_BATTLEPET_JOURNAL                    = 0x12C1, // 5.4.7 18019
    CMSG_REQUEST_CATEGORY_COOLDOWNS                   = 0x177B, // 5.4.7 18019
    CMSG_REQUEST_CEMETERY_LIST                        = 0x14A9, // 5.4.7 18019
    CMSG_REQUEST_FORCED_REACTIONS                     = 0x00EB, // 5.4.7 18019
    CMSG_REQUEST_HOTFIX                               = 0x16C2, // 5.4.7 18019
    CMSG_REQUEST_INSPECT_RATED_BG_STATS               = 0x1CB3, // 5.4.7 18019
    CMSG_REQUEST_PARTY_MEMBER_STATS                   = 0x1333, // 5.4.7 18019
    CMSG_REQUEST_PET_INFO                             = 0x0000,
    CMSG_REQUEST_PVP_OPTIONS_ENABLED                  = 0x0000,
    CMSG_REQUEST_PVP_REWARDS                          = 0x0C82, // 5.4.7 18019
    CMSG_REQUEST_RAID_INFO                            = 0x1980, // 5.4.7 18019
    CMSG_REQUEST_RATED_BG_INFO                        = 0x1789, // 5.4.7 18019
    CMSG_REQUEST_RATED_BG_STATS                       = 0x0D93, // 5.4.7 18019
    CMSG_REQUEST_RESEARCH_HISTORY                     = 0x13FB, // 5.4.7 18019
    CMSG_REQUEST_VEHICLE_EXIT                         = 0x15EB, // 5.4.7 18019
    CMSG_REQUEST_VEHICLE_NEXT_SEAT                    = 0x11EA, // 5.4.7 18019 - CHECK!
    CMSG_REQUEST_VEHICLE_PREV_SEAT                    = 0x1C32, // 5.4.7 18019 - CHECK!
    CMSG_REQUEST_VEHICLE_SWITCH_SEAT                  = 0x16EB, // 5.4.7 18019
    CMSG_RESET_FACTION_CHEAT                          = 0x0000, // 0x1B5A // 5.4.7 18019 - CHECK!
    CMSG_RESET_INSTANCES                              = 0x169B, // 5.4.7 18019
    CMSG_RESURRECT_RESPONSE                           = 0x00A0, // 5.4.7 18019
    CMSG_RETURN_TO_GRAVEYARD                          = 0x0257, // 5.4.7 18019
    CMSG_ROLE_POLL_BEGIN                              = 0x0D90, // 5.4.7 18019
    CMSG_SAVE_CUF_PROFILES                            = 0x0C88, // 5.4.7 18019
    CMSG_SAVE_GUILD_EMBLEM                            = 0x0C81, // 5.4.7 18019
    CMSG_SELECT_FACTION                               = 0x1C7A, // 5.4.7 18019
    CMSG_SELF_RES                                     = 0x10F4, // 5.4.7 18019
    CMSG_SELL_ITEM                                    = 0x115F, // 5.4.7 18019
    CMSG_SEND_MAIL                                    = 0x01A9, // 5.4.7 18019
    CMSG_SEND_SOR_REQUEST_VIA_ADDRESS                 = 0x0000,
    CMSG_SEND_SOR_REQUEST_VIA_BNET_ACCOUNT_ID         = 0x0000,
    CMSG_SETSHEATHED                                  = 0x007D, // 5.4.7 18019
    CMSG_SET_ACTIONBAR_TOGGLES                        = 0x03F5, // 5.4.7 18019
    CMSG_SET_ACTION_BUTTON                            = 0x1393, // 5.4.7 18019
    CMSG_SET_ACTIVE_MOVER                             = 0x091B, // 5.4.7 18019
    CMSG_SET_ACTIVE_VOICE_CHANNEL                     = 0x0000,
    CMSG_SET_ALLOW_LOW_LEVEL_RAID1                    = 0x0000,
    CMSG_SET_ALLOW_LOW_LEVEL_RAID2                    = 0x0000,
    CMSG_SET_CHANNEL_WATCH                            = 0x0000,
    CMSG_SET_CONTACT_NOTES                            = 0x03A4, // 5.4.7 18019
    CMSG_SET_CURRENCY_FLAGS                           = 0x0000,
    CMSG_SET_DUNGEON_DIFFICULTY                       = 0x1898, // 5.4.7 18019
    CMSG_SET_EVERYONE_IS_ASSISTANT                    = 0x1C81, // 5.4.7 18019
    CMSG_SET_FACTION_ATWAR                            = 0x03F6, // 5.4.7 18019
    CMSG_SET_FACTION_INACTIVE                         = 0x057C, // 5.4.7 18019
    CMSG_SET_GUILD_BANK_TEXT                          = 0x1B24, // 5.4.7 18019
    CMSG_SET_LFG_COMMENT                              = 0x0000,
    CMSG_SET_LOOT_SPECIALIZATION                      = 0x0176, // 5.4.7 18019
    CMSG_SET_PET_SLOT                                 = 0x12A2, // 5.4.7 18019
    CMSG_SET_PLAYER_DECLINED_NAMES                    = 0x1281, // 5.4.7 18019
    CMSG_SET_PREFERED_CEMETERY                        = 0x0000,
    CMSG_SET_RAID_DIFFICULTY                          = 0x16A6, // 5.4.7 18019
    CMSG_SET_RELATIVE_POSITION                        = 0x0000,
    CMSG_SET_SAVED_INSTANCE_EXTEND                    = 0x1A98, // 5.4.7 18019
    CMSG_SET_SELECTION                                = 0x10D5, // 5.4.7 18019
    CMSG_SET_SPECIALIZATION                           = 0x04AA, // 5.4.7 18019
    CMSG_SET_TAXI_BENCHMARK_MODE                      = 0x0000,
    CMSG_SET_TITLE                                    = 0x13E2, // 5.4.7 18019
    CMSG_SET_TRADE_CURRENCY                           = 0x0000,
    CMSG_SET_TRADE_GOLD                               = 0x0C93, // 5.4.7 18019
    CMSG_SET_TRADE_ITEM                               = 0x0C8A, // 5.4.7 18019
    CMSG_SET_WATCHED_FACTION                          = 0x12D5, // 5.4.7 18019
    CMSG_SHOP_CONTENT_REQUEST                         = 0x1993, // 5.4.7 18019
    CMSG_SHOWING_CLOAK                                = 0x1276, // 5.4.7 18019
    CMSG_SHOWING_HELM                                 = 0x117F, // 5.4.7 18019
    CMSG_SOCKET_GEMS                                  = 0x0375, // 5.4.7 18019
    CMSG_SPELLCLICK                                   = 0x11FF, // 5.4.7 18019
    CMSG_SPIRIT_HEALER_ACTIVATE                       = 0x05D4, // 5.4.7 18019
    CMSG_SPLIT_ITEM                                   = 0x140A, // 5.4.7 18019
    CMSG_STANDSTATECHANGE                             = 0x157A, // 5.4.7 18019
    CMSG_STOP_DANCE                                   = 0x0000,
    CMSG_SUBMIT_BUG                                   = 0x0000,
    CMSG_SUBMIT_COMPLAIN                              = 0x0000,
    CMSG_SUGGESTION_SUBMIT                            = 0x0000,
    CMSG_SUMMON_BATTLEPET_COMPANION                   = 0x17C0, // 5.4.7 18019
    CMSG_SUMMON_RESPONSE                              = 0x121A, // 5.4.7 18019
    CMSG_SUSPEND_TOKEN                                = 0x0000,
    CMSG_SWAP_INV_ITEM                                = 0x1403, // 5.4.7 18019
    CMSG_SWAP_ITEM                                    = 0x150A, // 5.4.7 18019
    CMSG_SYNC_DANCE                                   = 0x0000,
    CMSG_TAXINODE_STATUS_QUERY                        = 0x01FF, // 5.4.7 18019
    CMSG_TAXIQUERYAVAILABLENODES                      = 0x0656, // 5.4.7 18019
    CMSG_TELEPORT_TO_UNIT                             = 0x0000,
    CMSG_TEXT_EMOTE                                   = 0x037D, // 5.4.7 18019
    CMSG_TIME_ADJUSTMENT_RESPONSE                     = 0x0000,
    CMSG_TIME_SYNC_RESP                               = 0x0413, // 5.4.7 18019
    CMSG_TIME_SYNC_RESP_FAILED                        = 0x0000,
    CMSG_TOGGLE_PVP                                   = 0x16BA, // 5.4.7 18019
    CMSG_TOTEM_DESTROYED                              = 0x1154, // 5.4.7 18019
    CMSG_TRADE_INFO                                   = 0x19AB, // 5.4.7 18019
    CMSG_TRAINER_BUY_SPELL                            = 0x0274, // 5.4.7 18019
    CMSG_TRAINER_LIST                                 = 0x075E, // 5.4.7 18019
    CMSG_TRANSMOGRIFY_ITEMS                           = 0x13F8, // 5.4.7 18019
    CMSG_TURN_IN_PETITION                             = 0x04F7, // 5.4.7 18019
    CMSG_TUTORIAL_CLEAR                               = 0x104F, // 5.4.7 18019
    CMSG_TUTORIAL_FLAG                                = 0x07A4, // 5.4.7 18019
    CMSG_TUTORIAL_RESET                               = 0x024F, // 5.4.7 18019
    CMSG_UNACCEPT_TRADE                               = 0x1473, // 5.4.7 18019
    CMSG_UNLEARN_SKILL                                = 0x025D, // 5.4.7 18019
    CMSG_UNLEARN_SPECIALIZATION                       = 0x0000,
    CMSG_UNREGISTER_ALL_ADDON_PREFIXES                = 0x072B, // 5.4.7 18019
    CMSG_UNSET_FACTION_ATWAR                          = 0x0077, // 5.4.7 18019
    CMSG_UPDATE_ACCOUNT_DATA                          = 0x18B2, // 5.4.7 18019
    CMSG_UPDATE_MISSILE_TRAJECTORY                    = 0x0000,
    CMSG_UPDATE_PROJECTILE_POSITION                   = 0x0000,
    CMSG_UPGRADE_ITEM                                 = 0x11E9, // 5.4.7 18019
    CMSG_USED_FOLLOW                                  = 0x0000,
    CMSG_USE_ITEM                                     = 0x15E3, // 5.4.7 18019
    CMSG_VIOLENCE_LEVEL                               = 0x05A0, // 5.4.7 18019
    CMSG_VOICE_SESSION_ENABLE                         = 0x17C2, // 5.4.7 18019
    CMSG_VOID_STORAGE_QUERY                           = 0x01E1, // 5.4.7 18019
    CMSG_VOID_STORAGE_TRANSFER                        = 0x1F73, // 5.4.7 18019
    CMSG_VOID_STORAGE_UNLOCK                          = 0x13F2, // 5.4.7 18019
    CMSG_VOID_SWAP_ITEM                               = 0x01E2, // 5.4.7 18019
    CMSG_WARDEN_DATA                                  = 0x1681, // 5.4.7 18019
    CMSG_WARGAME_ACCEPT                               = 0x0000,
    CMSG_WARGAME_START                                = 0x0000,
    CMSG_WHO                                          = 0x13C1, // 5.4.7 18019
    CMSG_WHOIS                                        = 0x0000,
    CMSG_WORLD_STATE_UI_TIMER_UPDATE                  = 0x1CA3, // 5.4.7 18019
    CMSG_WORLD_TELEPORT                               = 0x0000,
    CMSG_WRAP_ITEM                                    = 0x1623, // 5.4.7 18019
    CMSG_ZONEUPDATE                                   = 0x0000,
    CMSG_MOVE_FALL_LAND                               = 0x055B, // 5.4.7 18019
    CMSG_MOVE_HEARTBEAT                               = 0x017B, // 5.4.7 18019
    CMSG_MOVE_JUMP                                    = 0x0438, // 5.4.7 18019
    CMSG_MOVE_SET_FACING                              = 0x005A, // 5.4.7 18019
    CMSG_MOVE_SET_PITCH                               = 0x047A, // 5.4.7 18019
    CMSG_MOVE_SET_RUN_MODE                            = 0x0878, // 5.4.7 18019 - CHECK!
    CMSG_MOVE_SET_WALK_MODE                           = 0x0138, // 5.4.7 18019 - CHECK!
    CMSG_MOVE_START_ASCEND                            = 0x0430, // 5.4.7 18019
    CMSG_MOVE_START_BACKWARD                          = 0x0459, // 5.4.7 18019
    CMSG_MOVE_START_DESCEND                           = 0x0132, // 5.4.7 18019
    CMSG_MOVE_START_FORWARD                           = 0x041B, // 5.4.7 18019
    CMSG_MOVE_START_PITCH_DOWN                        = 0x093B, // 5.4.7 18019
    CMSG_MOVE_START_PITCH_UP                          = 0x0079, // 5.4.7 18019
    CMSG_MOVE_START_STRAFE_LEFT                       = 0x0873, // 5.4.7 18019
    CMSG_MOVE_START_STRAFE_RIGHT                      = 0x0C12, // 5.4.7 18019
    CMSG_MOVE_START_SWIM                              = 0x0871, // 5.4.7 18019
    CMSG_MOVE_START_TURN_LEFT                         = 0x011B, // 5.4.7 18019
    CMSG_MOVE_START_TURN_RIGHT                        = 0x0411, // 5.4.7 18019
    CMSG_MOVE_STOP                                    = 0x0570, // 5.4.7 18019
    CMSG_MOVE_STOP_ASCEND                             = 0x0012, // 5.4.7 18019
    CMSG_MOVE_STOP_PITCH                              = 0x0071, // 5.4.7 18019
    CMSG_MOVE_STOP_STRAFE                             = 0x0171, // 5.4.7 18019
    CMSG_MOVE_STOP_SWIM                               = 0x0578, // 5.4.7 18019
    CMSG_MOVE_STOP_TURN                               = 0x0530, // 5.4.7 18019
    CMSG_MOVE_TELEPORT_ACK                            = 0x0978, // 5.4.7 18019
    CMSG_MOVE_WORLDPORT_ACK                           = 0x18BB, // 5.4.7 18019
    MSG_NOTIFY_PARTY_SQUELCH                          = 0x0000,
    MSG_VERIFY_CONNECTIVITY                           = 0x4F57, // 5.4.7 18019
    SMSG_ACCOUNT_CRITERIA_UPDATE                      = 0x12F9, // 5.4.7 18019 - CHECK!
    SMSG_ACCOUNT_CRITERIA_UPDATE_ALL                  = 0x0000,
    SMSG_ACCOUNT_DATA_TIMES                           = 0x0F40, // 5.4.7 18019
    SMSG_ACCOUNT_INFO_RESPONSE                        = 0x0000,
    SMSG_ACCOUNT_RESTRICTED_WARNING                   = 0x0000,
    SMSG_ACHIEVEMENT_DELETED                          = 0x0000,
    SMSG_ACHIEVEMENT_EARNED                           = 0x1D49, // 5.4.7 18019
    SMSG_ACTIVATE_TAXI_REPLY                          = 0x1D72, // 5.4.7 18019
    SMSG_ADDON_INFO                                   = 0x10E2, // 5.4.7 18019
    SMSG_ADD_RUNE_POWER                               = 0x1528, // 5.4.7 18019
    SMSG_AI_REACTION                                  = 0x0721, // 5.4.7 18019
    SMSG_ALL_ACHIEVEMENT_DATA                         = 0x072B, // 5.4.7 18019
    SMSG_ALL_ACCOUNT_CRITERIA                         = 0x13F0, // 5.4.7 18019 - CHECK!
    SMSG_AREA_SPIRIT_HEALER_TIME                      = 0x0441, // 5.4.7 18019
    SMSG_ARENA_ERROR                                  = 0x0000,
    SMSG_ARENA_OPPONENT_SPECIALIZATIONS               = 0x0E3D, // 5.4.7 18019
    SMSG_ATTACKER_STATE_UPDATE                        = 0x0540, // 5.4.7 18019
    SMSG_ATTACK_START                                 = 0x0403, // 5.4.7 18019
    SMSG_ATTACK_STOP                                  = 0x1448, // 5.4.7 18019
    SMSG_ATTACK_SWING_RESULT                          = 0x04E0, // 5.4.7 18019
    SMSG_AUCTION_HELLO_RESPONSE                       = 0x04E9, // 5.4.7 18019
    SMSG_AUCTION_BIDDER_LIST_RESULT                   = 0x134E, // 5.4.7 18019
    SMSG_AUCTION_BIDDER_NOTIFICATION                  = 0x0892, // 5.4.7 18019
    SMSG_AUCTION_BUYOUT_NOTIFICATION                  = 0x11E8, // 5.4.7 18019
    SMSG_AUCTION_COMMAND_RESULT                       = 0x1C40, // 5.4.7 18019
    SMSG_AUCTION_LIST_PENDING_SALES                   = 0x11EB, // 5.4.7 18019
    SMSG_AUCTION_LIST_RESULT                          = 0x0504, // 5.4.7 18019
    SMSG_AUCTION_OWNER_LIST_RESULT                    = 0x048F, // 5.4.7 18019
    SMSG_AUCTION_OWNER_BID_NOTIFICATION               = 0x0C42, // 5.4.7 18019
    SMSG_AUCTION_REMOVED_NOTIFICATION                 = 0x0000,
    SMSG_AURA_POINTS_DEPLETED                         = 0x0000, // 0x0151  // 5.4.7 18019 - CHECK!
    SMSG_AURA_UPDATE                                  = 0x1B8D, // 5.4.7 18019
    SMSG_AUTH_CHALLENGE                               = 0x14B8, // 5.4.7 18019
    SMSG_AUTH_RESPONSE                                = 0x15A0, // 5.4.7 18019
    SMSG_AVAILABLE_VOICE_CHANNEL                      = 0x0000,
    SMSG_AVERAGE_ITEM_LEVEL_INFORM                    = 0x0000,
    SMSG_BARBER_SHOP_RESULT                           = 0x01EB, // 5.4.7 18019
    SMSG_BATTLEFIELD_MGR_EJECTED                      = 0x0000,
    SMSG_BATTLEFIELD_MGR_EJECT_PENDING                = 0x0000,
    SMSG_BATTLEFIELD_MGR_ENTRY_INVITE                 = 0x0000,
    SMSG_BATTLEFIELD_MGR_EXIT_REQUEST                 = 0x0000,
    SMSG_BATTLEFIELD_MGR_QUEUE_INVITE                 = 0x0000,
    SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE       = 0x1E72, // 5.4.7 18019
    SMSG_BATTLEFIELD_PORT_DENIED                      = 0x0000,
    SMSG_BATTLEFIELD_RATED_INFO                       = 0x088A, // 5.4.7 18019
    SMSG_BATTLEGROUND_INFO_THROTTLED                  = 0x0000,
    SMSG_BATTLEGROUND_LIST                            = 0x1408, // 5.4.7 18019
    SMSG_BATTLEGROUND_PLAYER_JOINED                   = 0x15E0, // 5.4.7 18019
    SMSG_BATTLEGROUND_PLAYER_LEFT                     = 0x0C82, // 5.4.7 18019
    SMSG_BATTLEGROUND_PLAYER_POSITIONS                = 0x15AA, // 5.4.7 18019
    SMSG_BATTLEGROUND_STATUS                          = 0x15EB, // 5.4.7 18019
    SMSG_BATTLEGROUND_STATUS_ACTIVE                   = 0x10EA, // 5.4.7 18019
    SMSG_BATTLEGROUND_STATUS_FAILED                   = 0x1E40, // 5.4.7 18019
    SMSG_BATTLEGROUND_STATUS_NEED_CONFIRMATION        = 0x147A, // 5.4.7 18019
    SMSG_BATTLEGROUND_STATUS_QUEUED                   = 0x15E8, // 5.4.7 18019
    SMSG_BATTLEGROUND_STATUS_WARGAMES                 = 0x1701, // 5.4.7 18019
    SMSG_BATTLEPET_CAGE_DATA_ERROR                    = 0x14A1, // 5.4.7 18019 Not implemented - CHECK! These concern actual pets.
    SMSG_BATTLEPET_DELETE                             = 0x13F1, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLEPET_ERROR                              = 0x1C12, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLEPET_HEALED                             = 0x0000, // Check 0x1C3B.
    SMSG_BATTLEPET_JOURNAL                            = 0x14A0, // 5.4.7 18019
    SMSG_BATTLEPET_JOURNAL_LOCK_ACQUIRED              = 0x1C7A, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLEPET_JOURNAL_LOCK_DENIED                = 0x13E3, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLEPET_LICENSE_CHANGED                    = 0x11E0, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLEPET_NAME_QUERY_RESPONSE                = 0x0D01, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLEPET_TRAP_LEVEL                         = 0x13AA, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLEPET_UPDATE                             = 0x04E3, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLE_PET_CHAT_RESTRICTED                   = 0x1F53, // 5.4.7 18019 Not implemented - CHECK! These concern the battles themselves.
    SMSG_BATTLE_PET_DEBUG_QUEUE_DUMP_RESPONSE         = 0x13E9, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLE_PET_FULL_UPDATE                       = 0x01E3, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLE_PET_FINAL_ROUND                       = 0x12F0, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLE_PET_FINISHED                          = 0x1E33, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLE_PET_FIRST_ROUND                       = 0x1612, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLE_PET_MAX_GAME_LENGHT_WARNING           = 0x12BB, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLE_PET_PVP_CHALLENGE                     = 0x1C08, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLE_PET_QUEUE_PROPOSE_MATCH               = 0x0E62, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLE_PET_QUEUE_STATUS                      = 0x1540, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLE_PET_ROUND_RESULT                      = 0x0709, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLE_PET_REPLACEMENTS_MADE                 = 0x0891, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BATTLE_PET_SLOT_UPDATE                       = 0x0421, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_BINDER_CONFIRM                               = 0x0F22, // 5.4.7 18019
    SMSG_BIND_POINT_UPDATE                            = 0x11E2, // 5.4.7 18019
    SMSG_BIND_ZONE_REPLY                              = 0x0000,
    SMSG_BLACKMARKET_OPEN_RESULT                      = 0x15E2, // 5.4.7 18019
    SMSG_BLACKMARKET_OUT_BID                          = 0x12A3, // 5.4.7 18019
    SMSG_BLACKMARKET_ITEM_RESULT                      = 0x165A, // 5.4.7 18019
    SMSG_BLACKMARKET_BID_ON_ITEM_RESULT               = 0x064B, // 5.4.7 18019
    SMSG_BLACKMARKET_WON                              = 0x04A9, // 5.4.7 18019
    SMSG_BONUS_ROLL_EMPTY                             = 0x0000,
    SMSG_BREAK_TARGET                                 = 0x141A, // 5.4.7 18019
    SMSG_BUY_BANK_SLOT_RESULT                         = 0x0000,
    SMSG_BUY_FAILED                                   = 0x165B, // 5.4.7 18019
    SMSG_BUY_ITEM                                     = 0x0763, // 5.4.7 18019
    SMSG_CALENDAR_ACTION_PENDING                      = 0x0000,
    SMSG_CALENDAR_ARENA_TEAM                          = 0x0000,
    SMSG_CALENDAR_CLEAR_PENDING_ACTION                = 0x0000,
    SMSG_CALENDAR_COMMAND_RESULT                      = 0x0000,
    SMSG_CALENDAR_EVENT_INVITE                        = 0x0000,
    SMSG_CALENDAR_EVENT_INVITE_ALERT                  = 0x0000,
    SMSG_CALENDAR_EVENT_INVITE_NOTES                  = 0x0000,
    SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT            = 0x0000,
    SMSG_CALENDAR_EVENT_INVITE_REMOVED                = 0x0000,
    SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT          = 0x0000,
    SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT           = 0x0000,
    SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT        = 0x0000,
    SMSG_CALENDAR_EVENT_REMOVED_ALERT                 = 0x0000,
    SMSG_CALENDAR_EVENT_STATUS                        = 0x0000,
    SMSG_CALENDAR_EVENT_UPDATED_ALERT                 = 0x0000,
    SMSG_CALENDAR_FILTER_GUILD                        = 0x0000,
    SMSG_CALENDAR_RAID_LOCKOUT_ADDED                  = 0x0000,
    SMSG_CALENDAR_RAID_LOCKOUT_REMOVED                = 0x0000,
    SMSG_CALENDAR_RAID_LOCKOUT_UPDATED                = 0x0000,
    SMSG_CALENDAR_SEND_CALENDAR                       = 0x0000,
    SMSG_CALENDAR_SEND_EVENT                          = 0x05E0, // 5.4.7 18019 - CHECK!
    SMSG_CALENDAR_SEND_NUM_PENDING                    = 0x1C21, // 5.4.7 18019
    SMSG_CAMERA_SHAKE                                 = 0x0000,
    SMSG_CANCEL_AUTO_REPEAT                           = 0x12B0, // 5.4.7 18019
    SMSG_CANCEL_COMBAT                                = 0x1E48, // 5.4.7 18019
    SMSG_CAST_FAILED                                  = 0x0560, // 5.4.7 18019
    SMSG_CHALLENGE_MODE_MAP_STATS_UPDATE              = 0x0C9A, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_CHALLENGE_MODE_DELETE_LEADER_RESULT          = 0x05A2, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_CHALLENGE_MODE_ALL_MAP_STATS                 = 0x1621, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT        = 0x0668, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_CHALLENGE_MODE_REWARDS                       = 0x1413, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_CHALLENGE_MODE_NEW_PLAYER_RECORD             = 0x0C80, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_CHALLENGE_MODE_COMPLETE                      = 0x1D53, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_CHANNEL_LIST                                 = 0x06EE, // 5.4.7 18019
    SMSG_CHANNEL_MEMBER_COUNT                         = 0x0000,
    SMSG_CHANNEL_NOTIFY                               = 0x11C5, // 5.4.7 18019
    SMSG_CHARACTER_LOGIN_FAILED                       = 0x0000,
    SMSG_CHAR_CREATE                                  = 0x1469, // 5.4.7 18019
    SMSG_CHAR_CUSTOMIZE                               = 0x1F60, // 5.4.7 18019
    SMSG_CHAR_DELETE                                  = 0x1529, // 5.4.7 18019
    SMSG_CHAR_ENUM                                    = 0x040A, // 5.4.7 18019
    SMSG_CHAR_RENAME                                  = 0x0000,
    SMSG_CHAT_IGNORED_ACCOUNT_MUTED                   = 0x0000,
    SMSG_CHAT_NOT_IN_PARTY                            = 0x0000,
    SMSG_CHAT_PLAYER_AMBIGUOUS                        = 0x0000,
    SMSG_CHAT_PLAYER_NOT_FOUND                        = 0x0000,
    SMSG_CHAT_RESTRICTED                              = 0x0000,
    SMSG_CHAT_SERVER_DISCONNECTED                     = 0x0000,
    SMSG_CHAT_SERVER_RECONNECTED                      = 0x0000,
    SMSG_CHAT_WRONG_FACTION                           = 0x0000,
    SMSG_CLEAR_BOSS_EMOTES                            = 0x0000,
    SMSG_CLEAR_COOLDOWN                               = 0x0C08, // 5.4.7 18019
    SMSG_CLEAR_COOLDOWNS                              = 0x1926, // 5.4.7 18019
    SMSG_CLEAR_FAR_SIGHT_IMMEDIATE                    = 0x0000,
    SMSG_CLEAR_TARGET                                 = 0x12EB, // 5.4.7 18019
    SMSG_CLIENT_CACHE_VERSION                         = 0x1E41, // 5.4.7 18019
    SMSG_CLIENT_CONTROL_UPDATE                        = 0x01EA, // 5.4.7 18019
    SMSG_COIN_REMOVED                                 = 0x0C89, // 5.4.7 18019
    SMSG_COMBAT_EVENT_FAILED                          = 0x0000,
    SMSG_COMMENTATOR_MAP_INFO                         = 0x0000,
    SMSG_COMMENTATOR_PARTY_INFO                       = 0x0000,
    SMSG_COMMENTATOR_PLAYER_INFO                      = 0x0000,
    SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT1           = 0x0000,
    SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT2           = 0x0000,
    SMSG_COMMENTATOR_STATE_CHANGED                    = 0x0000,
    SMSG_COMPLAIN_RESULT                              = 0x0D62, // 5.4.7 18019
    SMSG_COMPRESSED_DATA                              = 0x0062, // 5.4.7 18019
    SMSG_COMSAT_CONNECT_FAIL                          = 0x0000,
    SMSG_COMSAT_DISCONNECT                            = 0x0000,
    SMSG_COMSAT_RECONNECT_TRY                         = 0x0000,
    SMSG_CONTACT_LIST                                 = 0x15CF, // 5.4.7 18019
    SMSG_CONVERT_RUNE                                 = 0x1E09, // 5.4.7 18019
    SMSG_COOLDOWN_EVENT                               = 0x1C5B, // 5.4.7 18019
    SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE           = 0x1C73, // 5.4.7 18019
    SMSG_CORPSE_NOT_IN_INSTANCE                       = 0x1C3B, // 5.4.7 18019
    SMSG_CORPSE_QUERY                                 = 0x1F32, // 5.4.7 18019
    SMSG_CORPSE_RECLAIM_DELAY                         = 0x1E73, // 5.4.7 18019
    SMSG_CREATURE_QUERY_RESPONSE                      = 0x00E0, // 5.4.7 18019
    SMSG_CRITERIA_DELETED                             = 0x0622, // 5.4.7 18019
    SMSG_CRITERIA_UPDATE                              = 0x13B2, // 5.4.7 18019
    SMSG_CROSSED_INEBRIATION_THRESHOLD                = 0x0000,
    SMSG_CURRENCY_LOOT_REMOVED                        = 0x0000,
    SMSG_CURRENCY_LOOT_RESTORED                       = 0x0000,
    SMSG_CUSTOM_LOAD_SCREEN                           = 0x0000,
    SMSG_DAMAGE_CALC_LOG                              = 0x0000,
    SMSG_DANCE_QUERY_RESPONSE                         = 0x0000,
    SMSG_DB_REPLY                                     = 0x1F01, // 5.4.7 18019
    SMSG_DEATH_RELEASE_LOC                            = 0x1672, // 5.4.7 18019
    SMSG_DEFENSE_MESSAGE                              = 0x01E8, // 5.4.7 18019
    SMSG_DESTROY_OBJECT                               = 0x1D69, // 5.4.7 18019
    SMSG_DESTRUCTIBLE_BUILDING_DAMAGE                 = 0x0562, // 5.4.7 18019
    SMSG_DIFFERENT_INSTANCE_FROM_PARTY                = 0x0000,
    SMSG_DISENCHANT_CREDIT                            = 0x0749, // 5.4.7 18019
    SMSG_DISMOUNT                                     = 0x12EA, // 5.4.7 18019
    SMSG_DISMOUNTRESULT                               = 0x0642, // 5.4.7 18019
    SMSG_DISPEL_FAILED                                = 0x0000,
    SMSG_DISPLAY_GAME_ERROR                           = 0x0000,
    SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR          = 0x0000,
    SMSG_DROP_NEW_CONNECTION                          = 0x0000,
    SMSG_DUEL_COMPLETE                                = 0x0C8A, // 5.4.7 18019
    SMSG_DUEL_COUNTDOWN                               = 0x0C91, // 5.4.7 18019
    SMSG_DUEL_INBOUNDS                                = 0x0E43, // 5.4.7 18019
    SMSG_DUEL_OUT_OF_BOUNDS                           = 0x0461, // 5.4.7 18019
    SMSG_DUEL_REQUESTED                               = 0x0C2A, // 5.4.7 18019
    SMSG_DUEL_WINNER                                  = 0x064A, // 5.4.7 18019
    SMSG_DUMP_OBJECTS_DATA                            = 0x12AA, // 5.4.7 18019
    SMSG_DUMP_RIDE_TICKETS_RESPONSE                   = 0x0000,
    SMSG_DURABILITY_DAMAGE_DEATH                      = 0x1713, // 5.4.7 18019
    SMSG_ECHO_PARTY_SQUELCH                           = 0x0000,
    SMSG_EMOTE                                        = 0x022F, // 5.4.7 18019
    SMSG_ENABLE_BARBER_SHOP                           = 0x0F6A, // 5.4.7 18019
    SMSG_ENVIRONMENTAL_DAMAGE_LOG                     = 0x0032, // 5.4.7 18019
    SMSG_EQUIPMENT_SET_LIST                           = 0x1520, // 5.4.7 18019
    SMSG_EQUIPMENT_SET_SAVED                          = 0x11E9, // 5.4.7 18019
    SMSG_EXPLORATION_EXPERIENCE                       = 0x13A1, // 5.4.7 18019
    SMSG_FAILED_PLAYER_CONDITION                      = 0x0000, // 0x0F21, // 5.4.7 18019 - CHECK!
    SMSG_FEATURE_SYSTEM_STATUS                        = 0x1560, // 5.4.7 18019
    SMSG_FEIGN_DEATH_RESISTED                         = 0x0000,
    SMSG_FISH_ESCAPED                                 = 0x0000,
    SMSG_FISH_NOT_HOOKED                              = 0x0000,
    SMSG_FLIGHT_SPLINE_SYNC                           = 0x0000, // 0x0992, // 5.4.7 18019 - CHECK!
    SMSG_FLOOD_DETECTED                               = 0x0000,
    SMSG_FORCE_SEND_QUEUED_PACKETS                    = 0x0000, // 0x01B9, // 5.4.7 18019 - CHECK!
    SMSG_FORGE_MASTER_SET                             = 0x0000,
    SMSG_FRIEND_STATUS                                = 0x0707, // 5.4.7 18019
    SMSG_GAMEOBJECT_ACTIVATE_ANIM_KIT                 = 0x0462, // 5.4.7 18019
    SMSG_GAMEOBJECT_CUSTOM_ANIM                       = 0x1E52, // 5.4.7 18019
    SMSG_GAMEOBJECT_DESPAWN_ANIM                      = 0x0609, // 5.4.7 18019
    SMSG_GAMEOBJECT_PAGETEXT                          = 0x0549, // 5.4.7 18019
    SMSG_GAMEOBJECT_PLAY_SPELL_VISUAL                 = 0x0E68, // 5.4.7 18019 - CHECK!
    SMSG_GAMEOBJECT_QUERY_RESPONSE                    = 0x066A, // 5.4.7 18019
    SMSG_GAMEOBJECT_RESET_STATE                       = 0x0000,
    SMSG_GAME_SPEED_SET                               = 0x0000, // 0x1D73 // 5.4.7 18019 - CHECK!
    SMSG_GAME_TIME_SET                                = 0x037E, // 5.4.7 18019 - CHECK!
    SMSG_GAME_TIME_UPDATE                             = 0x00A3, // 5.4.7 18019
    SMSG_GM_MESSAGECHAT                               = 0x0000,
    SMSG_GM_PLAYER_INFO                               = 0x0000,
    SMSG_GM_TICKET_GET_TICKET_RESPONSE                = 0x0C4B, // 5.4.7 18019
    SMSG_GM_TICKET_STATUS_UPDATE                      = 0x14AB, // 5.4.7 18019
    SMSG_GM_TICKET_SYSTEM_STATUS                      = 0x04A2, // 5.4.7 18019
    SMSG_GOSSIP_COMPLETE                              = 0x0D45, // 5.4.7 18019
    SMSG_GOSSIP_MESSAGE                               = 0x0E52, // 5.4.7 18019
    SMSG_GOSSIP_POI                                   = 0x058F, // 5.4.7 18019
    SMSG_GROUP_CANCEL                                 = 0x0000,
    SMSG_GROUP_DECLINE                                = 0x108F, // 5.4.7 18019
    SMSG_GROUP_DESTROYED                              = 0x1564, // 5.4.7 18019
    SMSG_GROUP_INVITE                                 = 0x1472, // 5.4.7 18019
    SMSG_GROUP_SET_LEADER                             = 0x15A2, // 5.4.7 18019
    SMSG_GROUP_UNINVITE                               = 0x0000,
    SMSG_GUILD_ACHIEVEMENT_DATA                       = 0x1B5A, // 5.4.7 18019
    SMSG_GUILD_ACHIEVEMENT_DELETED                    = 0x0000,
    SMSG_GUILD_ACHIEVEMENT_EARNED                     = 0x1B1B, // 5.4.7 18019
    SMSG_GUILD_ACHIEVEMENT_MEMBERS                    = 0x0000,
    SMSG_GUILD_BANK_LIST                              = 0x1B7B, // 5.4.7 18019
    SMSG_GUILD_BANK_LOG_QUERY_RESULT                  = 0x1B53, // 5.4.7 18019
    SMSG_GUILD_BANK_MONEY_WITHDRAWN                   = 0x1A70, // 5.4.7 18019
    SMSG_GUILD_BANK_QUERY_TEXT_RESULT                 = 0x1B3B, // 5.4.7 18019
    SMSG_GUILD_CHALLENGE_COMPLETED                    = 0x1A10, // 5.4.7 18019 Not implemented - CHECK!.
    SMSG_GUILD_CHALLENGE_UPDATED                      = 0x1A33, // 5.4.7 18019
    SMSG_GUILD_CHANGE_NAME_RESULT                     = 0x0000,
    SMSG_GUILD_COMMAND_RESULT                         = 0x1A13, // 5.4.7 18019
    SMSG_GUILD_CRITERIA_DATA                          = 0x12F9, // INCORRECT - CHECK!
    SMSG_GUILD_CRITERIA_DELETED                       = 0x0000,
    SMSG_GUILD_DECLINE                                = 0x0000,
    SMSG_GUILD_EVENT                                  = 0x0000,
    SMSG_GUILD_EVENT_LOG_QUERY_RESULT                 = 0x1853, // 5.4.7 18019
    SMSG_GUILD_FLAGGED_FOR_RENAME                     = 0x0000,
    SMSG_GUILD_INVITE                                 = 0x185A, // 5.4.7 18019
    SMSG_GUILD_INVITE_CANCEL                          = 0x0000,
    SMSG_GUILD_KNOWN_RECIPES                          = 0x0000,
    SMSG_GUILD_MEMBERS_FOR_RECIPE                     = 0x0000,
    SMSG_GUILD_MEMBER_DAILY_RESET                     = 0x0000,
    SMSG_GUILD_MEMBER_RECIPES                         = 0x0000,
    SMSG_GUILD_MEMBER_UPDATE_NOTE                     = 0x0000,
    SMSG_GUILD_MOVE_COMPLETE                          = 0x0000,
    SMSG_GUILD_MOVE_STARTING                          = 0x0000,
    SMSG_GUILD_NEWS_DELETED                           = 0x0000,
    SMSG_GUILD_NEWS_UPDATE                            = 0x187B, // 5.4.7 18019
    SMSG_GUILD_PARTY_STATE_RESPONSE                   = 0x1A52, // 5.4.7 18019
    SMSG_GUILD_PERMISSIONS_QUERY_RESULTS              = 0x1A32, // 5.4.7 18019
    SMSG_GUILD_QUERY_RESPONSE                         = 0x1953, // 5.4.7 18019
    SMSG_GUILD_RANK                                   = 0x1271, // 5.4.7 18019
    SMSG_GUILD_RANKS_UPDATE                           = 0x1070, // 5.4.7 18019
    SMSG_GUILD_RECIPES                                = 0x1A12, // 5.4.7 18019 // sub_2A6ECC
    SMSG_GUILD_RENAMED                                = 0x0000,
    SMSG_GUILD_REPUTATION_REACTION_CHANGED            = 0x0000,
    SMSG_GUILD_REPUTATION_WEEKLY_CAP                  = 0x1913, // 5.4.7 18019
    SMSG_GUILD_RESET                                  = 0x0000,
    SMSG_GUILD_REWARDS_LIST                           = 0x1010, // 5.4.7 18019
    SMSG_GUILD_ROSTER                                 = 0x1231, // 5.4.7 18019
    SMSG_GUILD_SEND_MEMBER_LEAVE                      = 0x1870, // 5.4.7 18019
    SMSG_GUILD_SEND_PLAYER_LOGIN_STATUS               = 0x1A1A, // 5.4.7 18019
    SMSG_GUILD_SEND_PLAYER_JOINED                     = 0x1A3B, // 5.4.7 18019
    SMSG_GUILD_SEND_MOTD                              = 0x1850, // 5.4.7 18019
    SMSG_GUILD_UPDATE_ROSTER                          = 0x0000,
    SMSG_GUILD_XP                                     = 0x1A51, // 5.4.7 18019
    SMSG_GUILD_XP_GAIN                                = 0x1A11, // 5.4.7 18019
    SMSG_HEALTH_UPDATE                                = 0x0000,
    SMSG_HIGHEST_THREAT_UPDATE                        = 0x0761, // 5.4.7 18019
    SMSG_HOTFIX_INFO                                  = 0x0C81, // 5.4.7 18019
    SMSG_HOTFIX_NOTIFY                                = 0x0000,
    SMSG_INITIALIZE_FACTIONS                          = 0x11E1, // 5.4.7 18019
    SMSG_INITIAL_SETUP                                = 0x12E0, // 5.4.7 18019
    SMSG_INITIAL_SPELLS                               = 0x1B05, // 5.4.7 18019
    SMSG_INIT_CURRENCY                                = 0x1E3A, // 5.4.7 18019
    SMSG_INIT_WORLD_STATES                            = 0x0F03, // 5.4.7 18019
    SMSG_INSPECT_HONOR_STATS                          = 0x1429, // 5.4.7 18019
    SMSG_INSPECT_RATED_BG_STATS                       = 0x046B, // 5.4.7 18019
    SMSG_INSPECT_RESULTS_UPDATE                       = 0x0000,
    SMSG_INSPECT_TALENT                               = 0x1E49, // 5.4.7 18019
    SMSG_PENDING_RAID_LOCK                            = 0x1C52, // 5.4.7 18019
    SMSG_INSTANCE_RESET                               = 0x1F72, // 5.4.7 18019
    SMSG_INSTANCE_RESET_FAILED                        = 0x0000,
    SMSG_INSTANCE_SAVE_CREATED                        = 0x04A3, // 5.4.7 18019
    SMSG_INVALIDATE_DANCE                             = 0x0000,
    SMSG_INVALIDATE_PLAYER                            = 0x0000,
    SMSG_INVALID_PROMOTION_CODE                       = 0x0000,
    SMSG_INVENTORY_CHANGE_FAILURE                     = 0x0F49, // 5.4.7 18019
    SMSG_ITEM_ADD_PASSIVE                             = 0x0000,
    SMSG_ITEM_COOLDOWN                                = 0x0000,
    SMSG_ITEM_ENCHANT_TIME_UPDATE                     = 0x0660, // 5.4.7 18019
    SMSG_ITEM_PUSH_RESULT                             = 0x04A1, // 5.4.7 18019
    SMSG_ITEM_REFUND_INFO_RESPONSE                    = 0x04A0, // 5.4.7 18019
    SMSG_ITEM_REFUND_RESULT                           = 0x153A, // 5.4.7 18019
    SMSG_ITEM_REMOVE_PASSIVE                          = 0x0000,
    SMSG_ITEM_SEND_PASSIVE                            = 0x0000,
    SMSG_ITEM_TEXT_QUERY_RESPONSE                     = 0x06AD, // 5.4.7 18019
    SMSG_ITEM_TIME_UPDATE                             = 0x1F5B, // 5.4.7 18019
    SMSG_ITEM_UPGRADE_RESULT                          = 0x0888, // 5.4.7 18019
    SMSG_LEARNED_DANCE_MOVES                          = 0x0000,
    SMSG_LEARNED_SPELL                                = 0x0C99, // 5.4.7 18019
    SMSG_LEVELUP_INFO                                 = 0x0E6A, // 5.4.7 18019
    SMSG_LFG_BOOT_PROPOSAL_UPDATE                     = 0x1521, // 5.4.7 18019
    SMSG_LFG_DISABLED                                 = 0x171A, // 5.4.7 18019
    SMSG_LFG_JOIN_RESULT                              = 0x12E9, // 5.4.7 18019
    SMSG_LFG_OFFER_CONTINUE                           = 0x0F0A, // 5.4.7 18019
    SMSG_LFG_PARTY_INFO                               = 0x0000,
    SMSG_LFG_PLAYER_INFO                              = 0x13B0, // 5.4.7 18019
    SMSG_LFG_PLAYER_REWARD                            = 0x0D21, // 5.4.7 18019
    SMSG_LFG_PROPOSAL_UPDATE                          = 0x0C23, // 5.4.7 18019
    SMSG_LFG_QUEUE_STATUS                             = 0x0D40, // 5.4.7 18019
    SMSG_LFG_ROLE_CHECK_UPDATE                        = 0x0541, // 5.4.7 18019
    SMSG_LFG_ROLE_CHOSEN                              = 0x0701, // 5.4.7 18019
    SMSG_LFG_SLOT_INVALID                             = 0x1F7B, // 5.4.7 18019 // 3x uint32
    SMSG_LFG_TELEPORT_DENIED                          = 0x1EA3, // 5.4.7 18019
    SMSG_LFG_UPDATE_SEARCH                            = 0x0000,
    SMSG_LFG_UPDATE_STATUS                            = 0x1661, // 5.4.7 18019
    SMSG_LFG_UPDATE_STATUS_NONE                       = 0x0000, // not used ?
    SMSG_LF_GUILD_BROWSE_UPDATED                      = 0x1852, // 5.4.7 18019
    SMSG_LF_GUILD_COMMAND_RESULT                      = 0x1833, // 5.4.7 18019
    SMSG_LF_GUILD_MEMBERSHIP_LIST_UPDATED             = 0x1952, // 5.4.7 18019
    SMSG_LF_GUILD_POST_UPDATED                        = 0x1972, // 5.4.7 18019
    SMSG_LF_GUILD_RECRUIT_LIST_UPDATED                = 0x1051, // 5.4.7 18019
    SMSG_LIST_INVENTORY                               = 0x0D2A, // 5.4.7 18019
    SMSG_LOAD_CUF_PROFILES                            = 0x15A9, // 5.4.7 18019
    SMSG_LOGIN_SET_TIME_SPEED                         = 0x0F4A, // 5.4.7 18019
    SMSG_LOGIN_VERIFY_WORLD                           = 0x0603, // 5.4.7 18019
    SMSG_LOGOUT_CANCEL_ACK                            = 0x0E0A, // 5.4.7 18019
    SMSG_LOGOUT_COMPLETE                              = 0x0429, // 5.4.7 18019
    SMSG_LOGOUT_RESPONSE                              = 0x0D2B, // 5.4.7 18019
    SMSG_LOG_XP_GAIN                                  = 0x1613, // 5.4.7 18019
    SMSG_LOOT_ALL_PASSED                              = 0x0126, // 5.4.7 18019
    SMSG_LOOT_CONTENTS                                = 0x0000,
    SMSG_LOOT_LIST                                    = 0x0000,
    SMSG_LOOT_MASTER_CANDIDATE_LIST                   = 0x1D5B, // 5.4.7 18019
    SMSG_LOOT_MONEY_NOTIFY                            = 0x1F49, // 5.4.7 18019
    SMSG_LOOT_RELEASE_RESPONSE                        = 0x14A2, // 5.4.7 18019
    SMSG_LOOT_REMOVED                                 = 0x0D00, // 5.4.7 18019
    SMSG_LOOT_RESPONSE                                = 0x1F41, // 5.4.7 18019
    SMSG_LOOT_ROLL                                    = 0x0422, // 5.4.7 18019
    SMSG_LOOT_ROLL_WON                                = 0x12F2, // 5.4.7 18019
    SMSG_LOOT_ROLLS_COMPLETE                          = 0x1473, // 5.4.7 18019
    SMSG_LOOT_START_ROLL                              = 0x1420, // 5.4.7 18019
    SMSG_MAIL_LIST_RESULT                             = 0x0401, // 5.4.7 18019
    SMSG_MAP_OBJ_EVENTS                               = 0x0000,
    SMSG_MESSAGE_CHAT                                 = 0x0E60, // 5.4.7 18019
    SMSG_MESSAGE_BOX                                  = 0x0000,
    SMSG_MINIGAME_SETUP                               = 0x0000,
    SMSG_MINIGAME_STATE                               = 0x0000,
    SMSG_MINIMAP_PING                                 = 0x1501, // 5.4.7 18019
    SMSG_MIRROR_IMAGE_DATA                            = 0x1917, // 5.4.7 18019
    SMSG_MISSILE_CANCEL                               = 0x0000,
    SMSG_MODIFY_COOLDOWN                              = 0x1D08, // 5.4.7 18019
    SMSG_MONEY_NOTIFY                                 = 0x05E2, // 5.4.7 18019 - CHECK!
    SMSG_MONSTER_MOVE                                 = 0x12D8, // 5.4.7 18019
    SMSG_MOTD                                         = 0x0E20, // 5.4.7 18019
    SMSG_MOUNT_RESULT                                 = 0x0000,
    SMSG_MOUNT_SPECIAL_ANIM                           = 0x0E4B, // 5.4.7 18019
    SMSG_MOVE_COLLISION_DISABLE                       = 0x0000,
    SMSG_MOVE_COLLISION_ENABLE                        = 0x0000,
    SMSG_MOVE_FEATHER_FALL                            = 0x16D2, // 5.4.7 18019
    SMSG_MOVE_GRAVITY_DISABLE                         = 0x0000,
    SMSG_MOVE_GRAVITY_ENABLE                          = 0x0000,
    SMSG_MOVE_KNOCK_BACK                              = 0x1999, // 5.4.7 18019
    SMSG_MOVE_LAND_WALK                               = 0x1E9B, // 5.4.7 18019
    SMSG_MOVE_NORMAL_FALL                             = 0x0D89, // 5.4.7 18019
    SMSG_MOVE_ROOT                                    = 0x198B, // 5.4.7 18019
    SMSG_MOVE_SET_ACTIVE_MOVER                        = 0x129A, // 5.4.7 18019
    SMSG_MOVE_SET_CAN_FLY                             = 0x01F4, // 5.4.7 18019
    SMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x0000,
    SMSG_MOVE_SET_COLLISION_HEIGHT                    = 0x0DB0, // 5.4.7 18019
    SMSG_MOVE_SET_COMPOUND_STATE                      = 0x0000,
    SMSG_MOVE_SET_FLIGHT_BACK_SPEED                   = 0x13D2, // 5.4.7 18019
    SMSG_MOVE_SET_FLIGHT_SPEED                        = 0x02DC, // 5.4.7 18019
    SMSG_MOVE_SET_HOVER                               = 0x1D50, // 5.4.7 18019
    SMSG_MOVE_SET_PITCH_RATE                          = 0x138B, // 5.4.7 18019
    SMSG_MOVE_SET_RUN_BACK_SPEED                      = 0x0D93, // 5.4.7 18019
    SMSG_MOVE_SET_RUN_SPEED                           = 0x1B9B, // 5.4.7 18019
    SMSG_MOVE_SET_SWIM_BACK_SPEED                     = 0x015D, // 5.4.7 18019
    SMSG_MOVE_SET_SWIM_SPEED                          = 0x01D4, // 5.4.7 18019
    SMSG_MOVE_SET_TURN_RATE                           = 0x1DB0, // 5.4.7 18019
    SMSG_MOVE_SET_WALK_SPEED                          = 0x00A0, // 5.4.7 18019
    SMSG_MOVE_TIME_SKIPPED                            = 0x0000,
    SMSG_MOVE_TELEPORT                                = 0x00D5, // 5.4.7 18019
    SMSG_MOVE_UNROOT                                  = 0x1D8A, // 5.4.7 18019
    SMSG_MOVE_UNSET_CAN_FLY                           = 0x1D81, // 5.4.7 18019
    SMSG_MOVE_UNSET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x0000,
    SMSG_MOVE_UNSET_HOVER                             = 0x1AC0, // 5.4.7 18019
    SMSG_MOVE_UPDATE                                  = 0x1CB2, // 5.4.7 18019
    SMSG_MOVE_UPDATE_COLLISION_HEIGHT                 = 0x0000, // 0x179A, // 5.4.7 18019 - CHECK!
    SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED                = 0x0000,
    SMSG_MOVE_UPDATE_FLIGHT_SPEED                     = 0x17D9, // 5.4.7 18019
    SMSG_MOVE_UPDATE_KNOCK_BACK                       = 0x0000,
    SMSG_MOVE_UPDATE_PITCH_RATE                       = 0x0000,
    SMSG_MOVE_UPDATE_RUN_BACK_SPEED                   = 0x1BC2, // 5.4.7 18019
    SMSG_MOVE_UPDATE_RUN_SPEED                        = 0x1388, // 5.4.7 18019
    SMSG_MOVE_UPDATE_SWIM_BACK_SPEED                  = 0x0000,
    SMSG_MOVE_UPDATE_SWIM_SPEED                       = 0x1893, // 5.4.7 18019
    SMSG_MOVE_UPDATE_TELEPORT                         = 0x0000,
    SMSG_MOVE_UPDATE_TURN_RATE                        = 0x0000,
    SMSG_MOVE_UPDATE_WALK_SPEED                       = 0x139A, // 5.4.7 18019
    SMSG_MOVE_WATER_WALK                              = 0x1290, // 5.4.7 18019
    SMSG_MULTIPLE_PACKETS                             = 0x0000,
    SMSG_NAME_QUERY_RESPONSE                          = 0x1E5B, // 5.4.7 18019
    SMSG_NEW_TAXI_PATH                                = 0x13A3, // 5.4.7 18019
    SMSG_NEW_WORLD                                    = 0x05AB, // 5.4.7 18019
    SMSG_NEW_WORLD_ABORT                              = 0x0000,
    SMSG_NOTIFICATION                                 = 0x15A1, // 5.4.7 18019
    SMSG_NOTIFY_DANCE                                 = 0x0000,
    SMSG_NOTIFY_DEST_LOC_SPELL_CAST                   = 0x0000,
    SMSG_NPC_TEXT_UPDATE                              = 0x10E0, // 5.4.7 18019
    SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA         = 0x0C0A, // 5.4.7 18019
    SMSG_OPEN_CONTAINER                               = 0x0000,
    SMSG_OPEN_LFG_DUNGEON_FINDER                      = 0x0000,
    SMSG_OVERRIDE_LIGHT                               = 0x0000,
    SMSG_PAGE_TEXT_QUERY_RESPONSE                     = 0x1653, // 5.4.7 18019
    SMSG_PARTY_KILL_LOG                               = 0x0F23, // 5.4.7 18019
    SMSG_PARTY_COMMAND_RESULT                         = 0x1787, // 5.4.7 18019
    SMSG_PARTY_MEMBER_STATS                           = 0x0E61, // 5.4.7 18019
    SMSG_PARTY_MEMBER_STATS_FULL                      = 0x0000,
    SMSG_PARTY_UPDATE                                 = 0x1E61, // 5.4.7 18019
    SMSG_PAUSE_MIRROR_TIMER                           = 0x1C7B, // 5.4.7 18019
    SMSG_PERIODIC_AURA_LOG                            = 0x051B, // 5.4.7 18019
    SMSG_PETITION_ALREADY_SIGNED                      = 0x1409, // 5.4.7 18019
    SMSG_PETITION_DECLINED                            = 0x1E69, // 5.4.7 18019
    SMSG_PETITION_QUERY_RESPONSE                      = 0x1732, // 5.4.7 18019
    SMSG_PETITION_RENAME                              = 0x01E0, // 5.4.7 18019
    SMSG_PETITION_SHOW_LIST                           = 0x1C32, // 5.4.7 18019
    SMSG_PETITION_SHOW_SIGNATURES                     = 0x0899, // 5.4.7 18019
    SMSG_PET_ACTION_FEEDBACK                          = 0x14E8, // 5.4.7 18019
    SMSG_PET_ACTION_SOUND                             = 0x15E1, // 5.4.7 18019
    SMSG_PET_ADDED                                    = 0x0000,
    SMSG_PET_BROKEN                                   = 0x0000,
    SMSG_PET_CAST_FAILED                              = 0x1D33, // 5.4.7 18019
    SMSG_PET_DISMISS_SOUND                            = 0x0000,
    SMSG_PET_GUIDS                                    = 0x0000,
    SMSG_PET_LEARNED_SPELL                            = 0x04E3, // 5.4.7 18019
    SMSG_PET_MODE                                     = 0x0000,
    SMSG_PET_NAME_INVALID                             = 0x0442, // 5.4.7 18019
    SMSG_PET_NAME_QUERY_RESPONSE                      = 0x1F08, // 5.4.7 18019
    SMSG_PET_REMOVED_SPELL                            = 0x1761, // 5.4.7 18019
    SMSG_PET_RENAMEABLE                               = 0x0000,
    SMSG_PET_SLOT_UPDATED                             = 0x0C83, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_PET_SPELLS                                   = 0x0D79, // 5.4.7 18019
    SMSG_PET_STABLE_LIST                              = 0x0F09, // 5.4.7 18019
    SMSG_PET_TAME_FAILURE                             = 0x0722, // 5.4.7 18019
    SMSG_PLAYED_TIME                                  = 0x1C69, // 5.4.7 18019
    SMSG_PLAYER_BOUND                                 = 0x00E8, // 5.4.7 18019
    SMSG_PLAYER_DIFFICULTY_CHANGE_RESULT              = 0x1F1A, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_PLAYER_SAVE_GUILD_EMBLEM                     = 0x04E8, // 5.4.7 18019
    SMSG_PLAYER_TABARD_VENDOR_SHOW                    = 0x12B8, // 5.4.7 18019
    SMSG_PLAYER_VEHICLE_DATA                          = 0x1F29, // 5.4.7 18019
    SMSG_PLAY_DANCE                                   = 0x0000,
    SMSG_PLAY_MUSIC                                   = 0x0000,
    SMSG_PLAY_OBJECT_SOUND                            = 0x0C43, // 5.4.7 18019
    SMSG_PLAY_ONE_SHOT_ANIM_KIT                       = 0x0000,
    SMSG_PLAY_SCENE                                   = 0x1748, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_PLAY_SOUND                                   = 0x0E22, // 5.4.7 18019
    SMSG_PLAY_SPELL_VISUAL                            = 0x1F3B, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_PLAY_SPELL_VISUAL_KIT                        = 0x0500, // 5.4.7 18019
    SMSG_PLAY_TIME_WARNING                            = 0x0000,
    SMSG_PONG                                         = 0x15B1, // 5.4.7 18019
    SMSG_POWER_UPDATE                                 = 0x1441, // 5.4.7 18019
    SMSG_PRE_RESURRECT                                = 0x1F52, // 5.4.7 18019
    SMSG_PROCRESIST                                   = 0x0000,
    SMSG_PROPOSE_LEVEL_GRANT                          = 0x0000,
    SMSG_PVP_CREDIT                                   = 0x13BB, // 5.4.7 18019
    SMSG_PVP_LOG_DATA                                 = 0x076A, // 5.4.7 18019
    SMSG_PVP_OPTIONS_ENABLED                          = 0x1460, // 5.4.7 18019
    SMSG_QUERY_NEXT_MAIL_TIME                         = 0x1C20, // 5.4.7 18019
    SMSG_QUERY_QUESTS_COMPLETED_RESPONSE              = 0x0000,
    SMSG_QUERY_TIME_RESPONSE                          = 0x0E2A, // 5.4.7 18019
    SMSG_QUESTGIVER_OFFER_REWARD                      = 0x0F77, // 5.4.7 18019
    SMSG_QUESTGIVER_QUEST_COMPLETE                    = 0x0D54, // 5.4.7 18019
    SMSG_QUESTGIVER_QUEST_DETAILS                     = 0x0966, // 5.4.7 18019
    SMSG_QUESTGIVER_QUEST_FAILED                      = 0x0B70, // 5.4.7 18019
    SMSG_QUESTGIVER_QUEST_INVALID                     = 0x1944, // 5.4.7 18019
    SMSG_QUESTGIVER_QUEST_LIST                        = 0x0733, // 5.4.7 18019
    SMSG_QUESTGIVER_REQUEST_ITEMS                     = 0x0A32, // 5.4.7 18019
    SMSG_QUESTGIVER_STATUS                            = 0x0D7E, // 5.4.7 18019
    SMSG_QUESTGIVER_STATUS_MULTIPLE                   = 0x0F79, // 5.4.7 18019
    SMSG_QUESTLOG_FULL                                = 0x0B19, // 5.4.7 18019
    SMSG_QUESTUPDATE_ADD_CREDIT                       = 0x0B1A, // 5.4.7 18019
    SMSG_QUESTUPDATE_ADD_CREDIT_SIMPLE                = 0x0232, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_QUESTUPDATE_ADD_PVP_CREDIT                   = 0x0F4D, // 5.4.7 18019
    SMSG_QUESTUPDATE_COMPLETE                         = 0x071B, // 5.4.7 18019
    SMSG_QUESTUPDATE_FAILED                           = 0x0271, // 5.4.7 18019
    SMSG_QUESTUPDATE_FAILED_TIMER                     = 0x0F7F, // 5.4.7 18019
    SMSG_QUEST_NPC_QUERY_RESPONSE                     = 0x0957, // 5.4.7 18019
    SMSG_QUEST_CONFIRM_ACCEPT                         = 0x0351, // 5.4.7 18019
    SMSG_QUEST_POI_QUERY_RESPONSE                     = 0x0F5F, // 5.4.7 18019
    SMSG_QUEST_PUSH_RESULT                            = 0x0D66, // 5.4.7 18019
    SMSG_QUEST_QUERY_RESPONSE                         = 0x0F13, // 5.4.7 18019
    SMSG_RAID_GROUP_ONLY                              = 0x0000,
    SMSG_RAID_INSTANCE_INFO                           = 0x0C21, // 5.4.7 18019
    SMSG_RAID_INSTANCE_MESSAGE                        = 0x14E1, // 5.4.7 18019
    SMSG_RAID_MARKERS_CHANGED                         = 0x14E0, // 5.4.7 18019
    SMSG_RAID_READY_CHECK_COMPLETED                   = 0x177A, // 5.4.7 18019
    SMSG_RAID_READY_CHECK_RESPONSE                    = 0x1641, // 5.4.7 18019
    SMSG_RAID_READY_CHECK_STARTED                     = 0x072A, // 5.4.7 18019
    SMSG_RAID_READY_CHECK_THROTTLED_ERROR             = 0x0000,
    SMSG_RAID_TARGET_UPDATE_SINGLE                    = 0x1F3A, // 5.4.7 18019
    SMSG_RAID_TARGET_UPDATE_ALL                       = 0x1620, // 5.4.7 18019
    SMSG_RAID_SUMMON_FAILED                           = 0x0000,
    SMSG_RANDOM_ROLL                                  = 0x0529, // 5.4.7 18019
    SMSG_RANDOMIZE_CHAR_NAME                          = 0x074B, // 5.4.7 18019
    SMSG_RATED_BG_RATING                              = 0x0000,
    SMSG_RATED_BG_STATS                               = 0x0000,
    SMSG_READ_ITEM_FAILED                             = 0x0000,
    SMSG_READ_ITEM_OK                                 = 0x022D, // 5.4.7 18019
    SMSG_REALM_QUERY_RESPONSE                         = 0x1652, // 5.4.7 18019
    SMSG_REALM_SPLIT                                  = 0x145A, // 0x0708, // 5.4.7 18019 - CHECK!
    SMSG_REAL_GROUP_UPDATE                            = 0x0000,
    SMSG_RECEIVED_MAIL                                = 0x116E, // 0x0D60, // 5.4.7 18019 - CHECK!
    SMSG_REDIRECT_CLIENT                              = 0x05B9, // 5.4.7 18019 - CHECK!
    SMSG_REFER_A_FRIEND_EXPIRED                       = 0x0000,
    SMSG_REFER_A_FRIEND_FAILURE                       = 0x0000,
    SMSG_REFORGE_RESULT                               = 0x1601, // 5.4.7 18019
    SMSG_REPORT_PVP_AFK_RESULT                        = 0x0000,
    SMSG_REQUEST_CEMETERY_LIST_RESPONSE               = 0x1C49, // 5.4.7 18019
    SMSG_REQUEST_PVP_REWARDS_RESPONSE                 = 0x042B, // 5.4.7 18019
    SMSG_RESEARCH_COMPLETE                            = 0x0F6B, // 5.4.7 18019
    SMSG_RESEARCH_SETUP_HISTORY                       = 0x054A, // 5.4.7 18019
    SMSG_RESET_COMPRESSION_CONTEXT                    = 0x0000,
    SMSG_RESET_FAILED_NOTIFY                          = 0x0000,
    SMSG_RESISTLOG                                    = 0x0000,
    SMSG_RESPEC_WIPE_CONFIRM                          = 0x0E40, // 5.4.7 18019
    SMSG_RESPOND_INSPECT_ACHIEVEMENTS                 = 0x04E1, // 5.4.7 18019
    SMSG_RESUME_TOKEN                                 = 0x12FB, // 5.4.7 18019
    SMSG_RESURRECT_REQUEST                            = 0x1668, // 5.4.7 18019
    SMSG_RESYNC_RUNES                                 = 0x0561, // 5.4.7 18019
    SMSG_ROLE_CHANGED_INFORM                          = 0x0890, // 5.4.7 18019
    SMSG_ROLL_POLL_INFORM                             = 0x1F61, // 5.4.7 18019
    SMSG_RWHOIS                                       = 0x0000,
    SMSG_SCENARIO_POI                                 = 0x10E9, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_SCENARIO_PROGRESS_UPDATE                     = 0x167B, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_SCENARIO_STATE                               = 0x1E20, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_SCENE_OBJECT_EVENT                           = 0x0000,
    SMSG_SELL_ITEM                                    = 0x1468, // 5.4.7 18019
    SMSG_SEND_MAIL_RESULT                             = 0x0702, // 5.4.7 18019
    SMSG_SEND_UNLEARN_SPELLS                          = 0x1B3E, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_SERVER_TIME                                  = 0x047E, // 5.4.7 18019 - CHECK!
    SMSG_SERVER_FIRST_ACHIEVEMENT                     = 0x0000,
    SMSG_SERVER_INFO_RESPONSE                         = 0x0000,
    SMSG_SERVER_MESSAGE                               = 0x026E, // 5.4.7 18019
    SMSG_SERVER_PERF                                  = 0x0000,
    SMSG_SET_ARENA_SEASON                             = 0x00E1, // 5.4.7 18019
    SMSG_SET_DF_FAST_LAUNCH_RESULT                    = 0x0000,
    SMSG_SET_DUNGEON_DIFFICULTY                       = 0x1500, // 5.4.7 18019
    SMSG_SET_FACTION_ATWAR                            = 0x0000,
    SMSG_SET_FACTION_STANDING                         = 0x0E6B, // 5.4.7 18019
    SMSG_SET_FACTION_VISIBLE                          = 0x0000,
    SMSG_SET_FLAT_SPELL_MODIFIER                      = 0x0179, // 5.4.7 18019
    SMSG_SET_FORCED_REACTIONS                         = 0x060A, // 5.4.7 18019
    SMSG_SET_PCT_SPELL_MODIFIER                       = 0x193C, // 5.4.7 18019
    SMSG_SET_PET_SPECIALIZATION                       = 0x1640, // 5.4.7 18019
    SMSG_SET_PHASE_SHIFT                              = 0x1D52, // 5.4.7 18019
    SMSG_SET_PLAYER_DECLINED_NAMES_RESULT             = 0x00E9, // 5.4.7 18019
    SMSG_SET_PLAY_HOVER_ANIM                          = 0x0729, // 5.4.7 18019
    SMSG_SET_PROFICIENCY                              = 0x1E3B, // 5.4.7 18019
    SMSG_SET_VIGNETTE                                 = 0x05A1, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_SET_PROJECTILE_POSITION                      = 0x0000,
    SMSG_SET_RAID_DIFFICULTY                          = 0x16A6, // 5.4.7 18019
    SMSG_SHOP_AUTH_BUY_FAILED                         = 0x0C40, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_SHOP_CONTENT_RESPONSE                        = 0x1C29, // 5.4.7 18019
    SMSG_SHOP_INGAME_BUY_FAILED                       = 0x0000,
    SMSG_SHOW_BANK                                    = 0x060B, // 5.4.7 18019
    SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI        = 0x0C98, // 5.4.7 18019
    SMSG_SHOW_TAXI_NODES                              = 0x14A3, // 5.4.7 18019
    SMSG_SHOW_RATINGS                                 = 0x0000,
    SMSG_SOCKET_GEMS                                  = 0x13BA, // 5.4.7 18019
    SMSG_SOR_START_EXPERIENCE_INCOMPLETE              = 0x0000,
    SMSG_SPELLBREAKLOG                                = 0x0000,
    SMSG_SPELLDAMAGESHIELD                            = 0x0000,
    SMSG_SPELLDISPELLOG                               = 0x0919, // 5.4.7 18019
    SMSG_SPELLINSTAKILLLOG                            = 0x0D7A, // 5.4.7 18019
    SMSG_SPELLINTERRUPTLOG                            = 0x091A, // 5.4.7 18019
    SMSG_SPELLLOGEXECUTE                              = 0x19B4, // 5.4.7 18019
    SMSG_SPELLLOGMISS                                 = 0x0000,
    SMSG_SPELLORDAMAGE_IMMUNE                         = 0x1B9F, // 5.4.7 18019
    SMSG_SPELLSTEALLOG                                = 0x0000,
    SMSG_SPELL_CATEGORY_COOLDOWN                      = 0x053B, // 5.4.7 18019
    SMSG_SPELL_CHANNEL_START                          = 0x1B15, // 5.4.7 18019
    SMSG_SPELL_CHANNEL_UPDATE                         = 0x087B, // 5.4.7 18019
    SMSG_SPELL_COOLDOWN                               = 0x1B14, // 5.4.7 18019
    SMSG_SPELL_DELAYED                                = 0x015B, // 5.4.7 18019
    SMSG_SPELL_ENERGIZE_LOG                           = 0x0071, // 5.4.7 18019
    SMSG_SPELL_FAILED_OTHER                           = 0x1E7A, // 5.4.7 18019
    SMSG_SPELL_FAILURE                                = 0x0E03, // 5.4.7 18019
    SMSG_SPELL_GO                                     = 0x0851, // 5.4.7 18019
    SMSG_SPELL_HEAL_LOG                               = 0x1BBF, // 5.4.7 18019
    SMSG_SPELL_NON_MELEE_DAMAGE_LOG                   = 0x0172, // 5.4.7 18019
    SMSG_SPELL_START                                  = 0x0130, // 5.4.7 18019
    SMSG_SPELL_UPDATE_CHAIN_TARGETS                   = 0x0000,
    SMSG_SPIRIT_HEALER_CONFIRM                        = 0x171B, // 5.4.7 18019
    SMSG_SPLINE_MOVE_COLLISION_DISABLE                = 0x0000,
    SMSG_SPLINE_MOVE_COLLISION_ENABLE                 = 0x0000,
    SMSG_SPLINE_MOVE_GRAVITY_DISABLE                  = 0x0000,
    SMSG_SPLINE_MOVE_GRAVITY_ENABLE                   = 0x0000,
    SMSG_SPLINE_MOVE_ROOT                             = 0x1EC3, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_FEATHER_FALL                 = 0x1032, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_FLIGHT_BACK_SPEED            = 0x01AA, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_FLIGHT_SPEED                 = 0x1AD3, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_FLYING                       = 0x1A83, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_HOVER                        = 0x1C10, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_LAND_WALK                    = 0x17C1, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_NORMAL_FALL                  = 0x0998, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_PITCH_RATE                   = 0x0175, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_RUN_BACK_SPEED               = 0x09B8, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_RUN_MODE                     = 0x1CB9, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_RUN_SPEED                    = 0x1A90, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_SWIM_BACK_SPEED              = 0x1393, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_SWIM_SPEED                   = 0x0254, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_TURN_RATE                    = 0x0DAB, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_WALK_MODE                    = 0x01FE, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_WALK_SPEED                   = 0x0155, // 5.4.7 18019
    SMSG_SPLINE_MOVE_SET_WATER_WALK                   = 0x0DB3, // 5.4.7 18019
    SMSG_SPLINE_MOVE_START_SWIM                       = 0x0000,
    SMSG_SPLINE_MOVE_STOP_SWIM                        = 0x0000,
    SMSG_SPLINE_MOVE_UNROOT                           = 0x1698, // 5.4.7 18019
    SMSG_SPLINE_MOVE_UNSET_FLYING                     = 0x1798, // 5.4.7 18019
    SMSG_SPLINE_MOVE_UNSET_HOVER                      = 0x0076, // 5.4.7 18019
    SMSG_STABLE_RESULT                                = 0x0E0B, // 5.4.7 18019
    SMSG_START_ELAPSED_TIMER                          = 0x0760, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_STANDSTATE_UPDATE                            = 0x0C48, // 5.4.7 18019
    SMSG_START_MIRROR_TIMER                           = 0x0D48, // 5.4.7 18019
    SMSG_START_TIMER                                  = 0x12B3, // 5.4.7 18019
    SMSG_STOP_DANCE                                   = 0x0000,
    SMSG_STOP_MIRROR_TIMER                            = 0x1E01, // 5.4.7 18019
    SMSG_STREAMING_MOVIE                              = 0x0000,
    SMSG_SUMMON_CANCEL                                = 0x12FA, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_SUMMON_REQUEST                               = 0x0D29, // 5.4.7 18019
    SMSG_SUPERCEDED_SPELL                             = 0x052A, // 5.4.7 18019
    SMSG_SUPPRESS_NPC_GREETINGS                       = 0x0000,
    SMSG_SUSPEND_COMMS                                = 0x10B0, // 5.4.7 18019 Not implemented - CHECK!
    SMSG_SUSPEND_TOKEN_RESPONSE                       = 0x0000,
    SMSG_TALENTS_INVOLUNTARILY_RESET                  = 0x0000,
    SMSG_TAXI_NODE_STATUS                             = 0x0E23, // 5.4.7 18019
    SMSG_TEXT_EMOTE                                   = 0x0522, // 5.4.7 18019
    SMSG_THREAT_CLEAR                                 = 0x1D7A, // 5.4.7 18019
    SMSG_THREAT_REMOVE                                = 0x1E29, // 5.4.7 18019
    SMSG_THREAT_UPDATE                                = 0x1708, // 5.4.7 18019
    SMSG_TIME_ADJUSTMENT                              = 0x0000,
    SMSG_TIME_SYNC_REQUEST                            = 0x12F1, // 5.4.7 18019
    SMSG_TIME_ZONE_INFORMATION                        = 0x0C2B, // 5.4.7 18019
    SMSG_TITLE_EARNED                                 = 0x0F28, // 5.4.7 18019
    SMSG_TITLE_LOST                                   = 0x13E0, // 5.4.7 18019
    SMSG_TOGGLE_XP_GAIN                               = 0x0000,
    SMSG_TOTEM_CREATED                                = 0x0608, // 5.4.7 18019
    SMSG_TRADE_INFO                                   = 0x15EA, // 5.4.7 18019
    SMSG_TRADE_STATUS                                 = 0x05E8, // 5.4.7 18019
    SMSG_TRADE_UPDATED                                = 0x14E9, // 5.4.7 18019
    SMSG_TRAINER_LIST                                 = 0x1509, // 5.4.7 18019
    SMSG_TRAINER_SERVICE                              = 0x157B, // 5.4.7 18019
    SMSG_TRANSFER_ABORTED                             = 0x0648, // 5.4.7 18019
    SMSG_TRANSFER_PENDING                             = 0x0440, // 5.4.7 18019
    SMSG_TRIGGER_CINEMATIC                            = 0x04CC, // 5.4.7 18019
    SMSG_TRIGGER_MOVIE                                = 0x0D0A, // 5.4.7 18019
    SMSG_TURN_IN_PETITION_RESULTS                     = 0x0509, // 5.4.7 18019
    SMSG_TUTORIAL_FLAGS                               = 0x10A7, // 5.4.7 18019
    SMSG_UNIT_HEALTH_FREQUENT                         = 0x0000,
    SMSG_UNIT_SPELLCAST_START                         = 0x0000,
    SMSG_UNLEARNED_SPELLS                             = 0x05E3, // 5.4.7 18019
    SMSG_UPDATE_ACCOUNT_DATA                          = 0x13B9, // 5.4.7 18019
    SMSG_UPDATE_ACTION_BUTTONS                        = 0x1768, // 5.4.7 18019
    SMSG_UPDATE_COMBO_POINTS                          = 0x0C88, // 5.4.7 18019
    SMSG_UPDATE_CURRENCY                              = 0x173B, // 5.4.7 18019
    SMSG_UPDATE_CURRENCY_WEEK_LIMIT                   = 0x0F42, // 5.4.7 18019
    SMSG_UPDATE_DUNGEON_ENCOUNTER_FOR_LOOT            = 0x0000,
    SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT               = 0x16E5, // 5.4.7 18019
    SMSG_UPDATE_INSTANCE_OWNERSHIP                    = 0x0F68, // 5.4.7 18019
    SMSG_UPDATE_LAST_INSTANCE                         = 0x0600, // 5.4.7 18019
    SMSG_UPDATE_OBJECT                                = 0x1725, // 5.4.7 18019
    SMSG_UPDATE_SERVER_PLAYER_POSITION                = 0x0000,
    SMSG_UPDATE_TALENT_DATA                           = 0x0C68, // 5.4.7 18019
    SMSG_UPDATE_WORLD_STATE                           = 0x1D13, // 5.4.7 18019
    SMSG_USERLIST_ADD                                 = 0x0000,
    SMSG_USERLIST_REMOVE                              = 0x0000,
    SMSG_USERLIST_UPDATE                              = 0x0000,
    SMSG_VOICE_CHAT_STATUS                            = 0x0000,
    SMSG_VOICE_PARENTAL_CONTROLS                      = 0x0000,
    SMSG_VOICE_SESSION_LEAVE                          = 0x0000,
    SMSG_VOICE_SESSION_ROSTER_UPDATE                  = 0x0000,
    SMSG_VOICE_SET_TALKER_MUTED                       = 0x0000,
    SMSG_VOID_ITEM_SWAP_RESPONSE                      = 0x0E2B, // 5.4.7 18019
    SMSG_VOID_STORAGE_CONTENTS                        = 0x0C93, // 5.4.7 18019
    SMSG_VOID_STORAGE_FAILED                          = 0x1569, // 5.4.7 18019
    SMSG_VOID_STORAGE_TRANSFER_CHANGES                = 0x05A8, // 5.4.7 18019
    SMSG_VOID_TRANSFER_RESULT                         = 0x00E3, // 5.4.7 18019
    SMSG_WAIT_QUEUE_FINISH                            = 0x0000,
    SMSG_WAIT_QUEUE_UPDATE                            = 0x0000,
    SMSG_WARDEN_DATA                                  = 0x14EB, // 5.4.7 18019
    SMSG_WARGAME_CHECK_ENTRY                          = 0x0000,
    SMSG_WARGAME_REQUEST_SENT                         = 0x0000,
    SMSG_WEATHER                                      = 0x0F41, // 5.4.7 18019
    SMSG_WEEKLY_LAST_RESET                            = 0x0000,
    SMSG_WEEKLY_RESET_CURRENCY                        = 0x0620, // 5.4.7 18019 - CHECK!
    SMSG_WEEKLY_SPELL_USAGE                           = 0x1D04, // 5.4.7 18019 - Not implemented - CHECK!
    SMSG_WEEKLY_SPELL_USAGE_UPDATE                    = 0x0000,
    SMSG_WHO                                          = 0x0460, // 5.4.7 18019
    SMSG_WHOIS                                        = 0x1513, // 5.4.7 18019
    SMSG_WORLD_SERVER_INFO                            = 0x1D01, // 5.4.7 18019
    SMSG_WORLD_STATE_UI_TIMER_UPDATE                  = 0x0C22, // 5.4.7 18019
    SMSG_XP_GAIN_ABORTED                              = 0x1E32, // 5.4.7 18019 - Not finished - CHECK!
    SMSG_ZONE_UNDER_ATTACK                            = 0x1400, // 5.4.7 18019

    // Not found opcodes / unsure if deprecated.
    CMSG_BATTLEFIELD_REQUEST_SCORE_DATA = 0x0000,
    CMSG_BOT_DETECTED2 = 0x0000,
    CMSG_CALENDAR_CONTEXT_EVENT_SIGNUP = 0x0000,
    CMSG_CANCEL_GROWTH_AURA = 0x0000,
    CMSG_GETDEATHBINDZONE = 0x0000,
    CMSG_GHOST = 0x0000,
    CMSG_GROUP_UNINVITE = 0x0000,
    CMSG_GUILD_BANK_NOTE = 0x0000,
    CMSG_GUILD_INFO = 0x0000,
    CMSG_LFG_GET_PLAYER_INFO = 0x0000,
    CMSG_LFG_PARTY_LOCK_INFO_REQUEST = 0x0000,
    CMSG_LOOT_MASTER_ASK_FOR_ROLL = 0x0000,
    CMSG_MANEUVER_START = 0x0000,
    CMSG_MEETINGSTONE_INFO = 0x0000,
    CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK = 0x0000,
    CMSG_MOVE_SET_RELATIVE_POSITION = 0x0000,
    CMSG_MOVE_TOGGLE_COLLISION_ACK = 0x0000,
    CMSG_NEW_SPELL_SLOT = 0x0000,
    CMSG_SEARCH_LFG_JOIN = 0x0000,
    CMSG_SEARCH_LFG_LEAVE = 0x0000,
    CMSG_SERVERTIME = 0x0000,
    CMSG_SETDEATHBINDPOINT = 0x0000,
    CMSG_SHOW_ACCOUNT_ACHIEVEMENT = 0x0000,
    CMSG_START_QUEST = 0x0000,
    CMSG_STORE_LOOT_IN_SLOT = 0x0000,
    CMSG_TAXICLEARALLNODES = 0x0000,
    CMSG_TAXIENABLEALLNODES = 0x0000,
    CMSG_TAXISHOWNODES = 0x0000,
    CMSG_PLAYER_MOVE = 0x0000,
    CMSG_CONQUEST_POINTS_STATS_REQUEST = 0x0000,
    MSG_AUCTION_HELLO = 0x0000,
    MSG_BATTLEGROUND_PLAYER_POSITIONS = 0x0000,
    MSG_GM_BIND_OTHER = 0x0000,
    MSG_GM_SHOWLABEL = 0x0000,
    MSG_GM_SUMMON = 0x0000,
    MSG_MOVE_FEATHER_FALL = 0x0000,
    MSG_MOVE_GRAVITY_CHNG = 0x0000,
    MSG_MOVE_SET_ALL_SPEED_CHEAT = 0x0000,
    MSG_MOVE_SET_COLLISION_HEIGHT = 0x0000,
    MSG_MOVE_SET_FLIGHT_SPEED_CHEAT = 0x0000,
    MSG_MOVE_SET_RAW_POSITION_ACK = 0x0000,
    MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT = 0x0000,
    MSG_MOVE_SET_RUN_SPEED_CHEAT = 0x0000,
    MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT = 0x0000,
    MSG_MOVE_SET_SWIM_SPEED_CHEAT = 0x0000,
    MSG_MOVE_SET_TURN_RATE_CHEAT = 0x0000,
    MSG_MOVE_SET_WALK_SPEED_CHEAT = 0x0000,
    MSG_MOVE_TOGGLE_FALL_LOGGING = 0x0000,
    MSG_MOVE_TOGGLE_LOGGING = 0x0000,
    MSG_MOVE_UPDATE_CAN_FLY = 0x0000,
    MSG_MOVE_UPDATE_MOUSE = 0x0000,
    MSG_MOVE_UPDATE_TELEPORT = 0x0000,
    MSG_MOVE_WATER_WALK = 0x0000,
    CMSG_CLIENT_REPORT_ERROR = 0x0000,
    SMSG_ADJUST_SPLINE_DURATION = 0x0000,
    SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0x0000,
    SMSG_ADD_LOSS_OF_CONTROL = 0x0000,
    SMSG_AE_LOOT_TARGETS = 0x0000,
    SMSG_AE_LOOT_TARGETS_ACK = 0x0000,
    SMSG_AREA_SHARE_MAPPINGS_RESPONSE = 0x0000,
    SMSG_AREA_SHARE_INFO_RESPONSE = 0x0000,
    SMSG_AREA_TRIGGER_DENIED = 0x0000,
    SMSG_AREA_TRIGGER_NO_CORPSE = 0x0000,
    SMSG_AREA_TRIGGER_MOVEMENT_UPDATE = 0x0000,
    SMSG_AREA_TRIGGER_RESET = 0x0000,
    SMSG_ARENA_OPPONENT_UPDATE = 0x0000,
    SMSG_AUCTION_CLOSED_NOTIFICATION = 0x0000,
    SMSG_AUCTION_OUTBID_NOTIFICATION = 0x0000,
    SMSG_AUCTION_WON_NOTIFICATION = 0x0000,
    SMSG_AURA_CAST_LOG = 0x0000,
    SMSG_BATTLEFIELD_MGR_ENTERING = 0x0000,
    SMSG_BATTLEFIELD_MGR_STATE_CHANGED = 0x0000,
    SMSG_BATTLEGROUND_INIT = 0x0000,
    SMSG_BATTLEGROUND_POINTS = 0x0000,
    SMSG_BEASTMASTER_FAILED = 0x0000,
    SMSG_CALENDAR_EVENT_INITIAL_INVITE = 0x0000,
    SMSG_CALENDAR_EVENT_INVITE_STATUS = 0x0000,
    SMSG_CALENDAR_EVENT_MODERATOR_STATUS = 0x0000,
    SMSG_CALENDAR_UPDATE_INVITE_LIST = 0x0000,
    SMSG_CANCEL_SCENE = 0x0000,
    SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0x0000,
    SMSG_CANCEL_SPELL_VISUAL = 0x0000,
    SMSG_CANCEL_SPELL_VISUAL_KIT = 0x0000,
    SMSG_CHAR_FACTION_OR_RACE_CHANGE = 0x0000,
    SMSG_CHAT_DOWN = 0x0000,
    SMSG_CHAT_IS_DOWN = 0x0000,
    SMSG_CHECK_FOR_BOTS = 0x0000,
    SMSG_CHEAT_IGNORE_REQUIEREMENTS_DISABLED = 0x0000,
    SMSG_CHEAT_IGNORE_REQUIEREMENTS_ENABLED = 0x0000,
    SMSG_CHEAT_PLAYER_LOOKUP = 0x0000,
    SMSG_CLEAR_LOSS_OF_CONTROL = 0x0000,
    SMSG_CLEAR_ITEM_CHALLENGE_MODE_DATA = 0x0000,
    SMSG_COMBAT_LOG_MULTIPLE = 0x0000,
    SMSG_CONSOLE_WRITE = 0x0000,
    SMSG_CORPSE_TRANSPORT_QUERY = 0x0000,
    SMSG_DAMAGE_DONE_OBSOLETE = 0x0000,
    SMSG_DB_LOOKUP_RESULT = 0x0000,
    SMSG_DESTROY_ARENA_UNIT = 0x0000,
    SMSG_DISPLAY_PROMOTION = 0x0000,
    SMSG_DYNAMIC_DROP_ROLL_RESULT = 0x0000,
    SMSG_ENABLE_HONOR_BUDDY_DETECTION = 0x0000,
    SMSG_ENCHANTMENT_LOG = 0x0000,
    SMSG_FACTION_BONUS_INFO = 0x0000,
    SMSG_FORCE_ANIM = 0x0000,
    SMSG_FORCE_ACTION_SHOW = 0x0000,
    SMSG_FORCE_DISPLAY_UPDATE = 0x0000,
    SMSG_GAME_OBJECT_DESPAWN = 0x0000,
    SMSG_GHOST = 0x0000,
    SMSG_GM_ACCOUNT_ONLINE_RESPONSE = 0x0000,
    SMSG_GM_CASE_STATUS = 0x0000,
    SMSG_GM_CHANGE_ARENA_RATING = 0x0000,
    SMSG_GM_CHARACTER_RESTORE_RESPONSE = 0x0000,
    SMSG_GM_CHARACTER_SAVE_FAILURE = 0x0000,
    SMSG_GM_CHARACTER_SAVE_SUCESS = 0x0000,
    SMSG_GM_DESTROY_CORPSE = 0x0000,
    SMSG_GM_FREEZE_FAILURE = 0x0000,
    SMSG_GM_FREEZE_SUCESS = 0x0000,
    SMSG_GM_GEAR_RATING_RESPONSE = 0x0000,
    SMSG_GM_NAMED_POINTS = 0x0000,
    SMSG_GM_NOTIFY_AREA_CHANGE = 0x0000,
    SMSG_GM_PHASE_DUMP = 0x0000,
    SMSG_GM_RESURRECT_FAILURE = 0x0000,
    SMSG_GM_RESURRECT_SUCESS = 0x0000,
    SMSG_GM_REQUEST_PLAYER_INFO = 0x0000,
    SMSG_GM_REVEAL_TO = 0x0000,
    SMSG_GM_SILENCE = 0x0000,
    SMSG_GM_SHOW_COMPLAINTS = 0x0000,
    SMSG_GM_SUMMON = 0x0000,
    SMSG_GM_TICKET_CREATE = 0x0000,
    SMSG_GM_TICKET_DELETE_TICKET = 0x0000,
    SMSG_GM_TICKET_RESPONSE = 0x0000,
    SMSG_GM_TICKET_RESPONSE_ERROR = 0x0000,
    SMSG_GM_TICKET_RESOLVE_RESPONSE = 0x0000,
    SMSG_GM_TICKET_UPDATE = 0x0000,
    SMSG_GM_TICKET_UPDATE_TEXT = 0x0000,
    SMSG_GROUP_ACTION_THROTTLED = 0x0000,
    SMSG_GROUP_JOINED_BATTLEGROUND = 0x0000,
    SMSG_GUILD_CANCEL = 0x0000,
    SMSG_GUILD_SET_NOTE = 0x0000,
    SMSG_GUILD_TRADESKILL_UPDATE = 0x0000,
    SMSG_GUILD_XP_UPDATE = 0x0000,
    SMSG_INSPECT = 0x0000,
    SMSG_JOINED_BATTLEGROUND_QUEUE = 0x0000,
    SMSG_KICK_REASON = 0x0000,
    SMSG_LEARN_TALENT_FAILED = 0x0000,
    SMSG_LFG_BOOT_PLAYER = 0x0000,
    SMSG_LFG_OPEN_FROM_GOSSIP = 0x0000,
    SMSG_LFG_SEARCH_RESULT = 0x0000,
    SMSG_LFG_UPDATE_LIST = 0x0000,
    SMSG_LFG_UPDATE_PARTY = 0x0000,
    SMSG_LFG_UPDATE_PLAYER = 0x0000,
    SMSG_LIST_TARGETS = 0x0000,
    SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x0000,
    SMSG_MEETINGSTONE_COMPLETE = 0x0000,
    SMSG_MEETINGSTONE_IN_PROGRESS = 0x0000,
    SMSG_MEETINGSTONE_MEMBER_ADDED = 0x0000,
    SMSG_MEETINGSTONE_SETQUEUE = 0x0000,
    SMSG_MOVE_CHARACTER_CHEAT_FAILURE = 0x0000,
    SMSG_MOVE_CHARACTER_CHEAT_SUCCESS = 0x0000,
    SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT = 0x0000,
    SMSG_NPC_WONT_TALK = 0x0000,
    SMSG_PET_BATTLE_REQUEST_FAILED = 0x0000,
    SMSG_PLAYER_BIND_ERROR = 0x0000,
    SMSG_PLAYER_NOT_FOUND_FAILURE = 0x0000,
    SMSG_PLAYER_TABAR_VENDOR_ACTIVATE = 0x0000,
    SMSG_PLAYER_UNK_DEAD_ALIVE = 0x0000,
    SMSG_PLAY_ORPHAN_SPELL_VISUAL = 0x0000,
    SMSG_PROFILE_DATA_RESPONSE = 0x0000,
    SMSG_PUREMOUNT_CANCELLED_OBSOLETE = 0x0000,
    SMSG_QUERY_OBJECT_POSITION = 0x0000,
    SMSG_QUERY_OBJECT_ROTATION = 0x0000,
    SMSG_QUERY_BATTLEPET_NAME_RESPONSE = 0x0000,
    SMSG_QUERY_NPC_TEXT_RESPONSE = 0x0000,
    SMSG_REFRESH_COMPONENT = 0x0000,
    SMSG_REMOVE_LOSS_OF_CONTROL = 0x0000,
    SMSG_RESET_RANGED_COMBAT_TIMER = 0x0000,
    SMSG_RESET_WEEKLY_CURRENCY = 0x0000,
    SMSG_RESET_DAILY_QUEST = 0x0000,
    SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED = 0x0000,
    SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND = 0x0000,
    SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0x0000,
    SMSG_SCENE_OBJECT_PET_BATTLE_FULL_UPDATE = 0x0000,
    SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT = 0x0000,
    SMSG_SCENE_OBJECT_PET_BATTLE_REMPLACEMENTS_MADE = 0x0000,
    SMSG_SEND_ITEM_PASSIVE = 0x0000,
    SMSG_SEND_ITEM_DURABILITY = 0x0000,
    SMSG_SEND_KNOWN_SPELLS = 0x0000,
    SMSG_SERVER_BUCK_DATA = 0x0000,
    SMSG_SERVER_BUCK_DATA_START = 0x0000,
    SMSG_SETUP_RESEARCH_HISTORY = 0x0000,
    SMSG_SET_AI_ANIM_KIT = 0x0000,
    SMSG_SET_ANIM_TIMER = 0x0000,
    SMSG_SET_FACTION_NOT_VISIBLE = 0x0000,
    SMSG_SET_ITEM_CHALLENGE_MODE_DATA = 0x0000,
    SMSG_SET_MELEE_ANIM_KIT = 0x0000,
    SMSG_SET_MOVEMENT_ANIM_KIT = 0x0000,
    SMSG_SET_PROMOTION_RESPONSE = 0x0000,
    SMSG_SET_SERVER_WOW_TIME = 0x0000,
    SMSG_SPLINE_MOVE_WATER_WALK = 0x0000,
    SMSG_START_ELAPSED_TIMERS = 0x0000,
    SMSG_STOP_ELAPSED_TIMER = 0x0000,
    SMSG_UI_TIME = 0x0000,
    SMSG_UPDATE_EXPANSION_LEVEL = 0x0000,
    SMSG_UPDATE_ITEM_ENCHANTMENTS = 0x0000,
    SMSG_VOICE_SESSION_FULL = 0x0000,
    SMSG_MOVE_SET_CAN_TURN_WHILE_FALLING = 0x0000,
    SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING = 0x0000,
    SMSG_APPLY_MOVEMENT_FORCE = 0x0000,
    SMSG_UNAPPLY_MOVEMENT_FORCE = 0x0000,
    SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPENENT = 0x0000,
};

/// Player state
enum SessionStatus
{
    STATUS_AUTHED = 0,                                          // Player authenticated (_player == NULL, m_playerRecentlyLogout = false or will be reset before handler call, m_GUID have garbage)
    STATUS_LOGGEDIN,                                            // Player in game (_player != NULL, m_GUID == _player->GetGUID(), inWorld())
    STATUS_TRANSFER,                                            // Player transferring to another map (_player != NULL, m_GUID == _player->GetGUID(), !inWorld())
    STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT,                        // _player != NULL or _player == NULL && m_playerRecentlyLogout && m_playerLogout, m_GUID store last _player guid)
    STATUS_NEVER,                                               // Opcode not accepted from client (deprecated or server side only)
    STATUS_UNHANDLED                                            // Opcode not handled yet
};

enum PacketProcessing
{
    PROCESS_INPLACE = 0,                                        // process packet whenever we receive it - mostly for non-handled or non-implemented packets
    PROCESS_THREADUNSAFE,                                       // packet is not thread-safe - process it in World::UpdateSessions()
    PROCESS_THREADSAFE                                          // packet is thread-safe - process it in Map::Update()
};

class WorldPacket;
class WorldSession;

typedef void(WorldSession::*pOpcodeHandler)(WorldPacket& recvPacket);

struct OpcodeHandler
{
    OpcodeHandler() {}
    OpcodeHandler(char const* _name, SessionStatus _status, PacketProcessing _processing, pOpcodeHandler _handler)
        : name(_name), status(_status), packetProcessing(_processing), handler(_handler) {}

    char const* name;
    SessionStatus status;
    PacketProcessing packetProcessing;
    pOpcodeHandler handler;
};

extern OpcodeHandler* opcodeTable[TRANSFER_DIRECTION_MAX][NUM_OPCODE_HANDLERS];
void InitOpcodes();

// Lookup opcode name for human understandable logging
inline std::string GetOpcodeNameForLogging(Opcodes id, int direction)
{
    uint32 opcode = uint32(id);
    std::ostringstream ss;
    ss << '[';

    if (id < UNKNOWN_OPCODE)
    {
        OpcodeHandler* handler = opcodeTable[direction][uint32(id) & 0x7FFF];
        if (handler)
            ss << handler->name;
        else
            ss << "UNKNOWN OPCODE";
    }
    else
        ss << "INVALID OPCODE";

    ss << " 0x" << std::hex << std::uppercase << opcode << std::nouppercase << " (" << std::dec << opcode << ")]";
    return ss.str();
}

#endif
/// @}
